plotly / plotly/plotly.py

Missing colorscales in ui buttons

Ouverte
#5,189 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug P2
Langage dominant
Python
Étoiles
18.8k
Forks
2.8k
Merge moyen
16 h 26 min
PR mergées (30 j)
21

Description

In the following code I created a simple plot with a dropdown menu where each button is expected to modify the colorscale. However, some of these don't seem to work properly and when the corresponding button is clicked, a default colorscale is applied instead.


import plotly.graph_objects as go
import numpy as np

# Generate sample data
np.random.seed(42)
x = np.random.rand(100)
y = np.random.rand(100)
z = np.sqrt(x**2 + y**2)

# Available colormaps
colorscales = ['Viridis', 'Cividis', 'Plasma', 'Inferno', 'Magma']

# Create the initial figure with one colorscale
scatter = go.Scatter(
    x=x,
    y=y,
    mode='markers',
    marker=dict(
        size=10,
        color=z,
        colorscale=colorscales[0],
        colorbar=dict(title='Value'),
        showscale=True
    )
)

fig = go.Figure(data=[scatter])

# Add dropdown menu
fig.update_layout(
    updatemenus=[
        dict(
            buttons=[
                dict(
                    label=scale,
                    method='restyle',
                    args=[{'marker.colorscale': [scale]}]
                )
                for scale in colorscales
            ],
            direction='down',
            showactive=True,
            x=1.1,
            y=1
        )
    ],
    title="Scatter Plot with Colormap Dropdown",
    xaxis_title="X",
    yaxis_title="Y"
)

fig.show()

In this plot only 'Viridis' and 'Cividis' colorscales are supported. More in general it seems to me that the only supported ones are those defined in plotly.colors.plotlyjs (only the non-reversed ones).

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par exécuter la reproduction Python fournie et comparez le comportement de la liste déroulante avec les noms disponibles dans plotly.colors.plotlyjs. Suivez la manière dont la figure Plotly Python sérialise les valeurs de colorscale pour les boutons ; le travail est terminé lorsque les colorscales listées sont acceptées et appliquées de manière cohérente lors de leur sélection.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
data-visualization
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.