Order of marginal wrong when using facet_col and setting traces to invisible by default
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 18.8k
- Forks
- 2.8k
- Merge moyen
- 16 h 26 min
- PR mergées (30 j)
- 21
Description
I am creating a histogram plot using plotly express.histogram, like the following:
df = pd.DataFrame({
'month': [5] * 30 + [6] * 30 + [7] * 30,
'value': np.random.randint(0, 100, size=90),
'Module': ['M', 'P']*45,
})
fig = px.histogram(
df,
x='value',
opacity=0.8,
color='month',
category_orders={'month': df['month'].sort_values(ascending=True)},
marginal='box',
barmode='overlay',
facet_col='Module',
)
for trace in fig.data:
if int(trace.name) not in (7,6):
trace.visible = "legendonly"
fig.show()
When I then want to show month 5 as well, the box in marginal is placed at the top of the others, giving the wrong order of month: 5, 7, 6 (red from top to bottom).
The problem does not appear when I don't use the facet_col argument, or when i show all month from the beginning (simply comment the part where i set trace.visible to legendonly).
plotly version: 5.18.0
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par exécuter l’exemple fourni de plotly.express.histogram avec plotly 5.18.0, en comparant le comportement de facet_col et marginal lorsque les traces sont définies sur legendonly par rapport au cas où toutes les traces sont visibles. Suivez la manière dont l’ordre des box marginales est produit et vérifiez que l’affichage du mois 5 conserve l’ordre des catégories 5, 6, 7.
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é
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100