Bug when using categorical axes and colors in plotly.express
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
According to the documentation:
By default, Plotly Express lays out categorical data in the order in which it appears in the underlying data.
However, when using categorical axes in conjunction with colors, things do not show up in the order of the underlying data anymore.
import plotly.express as px
pdata_x = ["A","B",None,"B","C",None,"C","D", None, "D", "E", None]
pdata_y = [1,1,None,2,2,None,3,3,None,4,4,None]
pdata_color = [1,1,1,2,2,2,2,2,2,1,1,1]
px.line(x=pdata_x, y=pdata_y, color=pdata_color).show()
Output is

When not(!) using colors, we would get the correct output:
px.line(x=pdata_x, y=pdata_y ).show()

For anyone who comes across this problem, a temporary fix is explicitely specifying the category order:
px.line(x=pdata_x, y=pdata_y, color=pdata_color, category_orders={"x":["A","B","C","D"]}).show()

plotly==4.14.3
Python 3.8.0 (default, Feb 25 2021, 22:10:10)
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 en Python et plotly.express px.line avec des valeurs x catégorielles et des couleurs, puis comparez-le aux cas sans couleur et avec category_orders explicite. Suivez la manière dont l’ordre des catégories est déterminé pour les lignes colorées. Le travail est terminé lorsque l’ordre par défaut suit les données sous-jacentes, même lorsque color est utilisé, tandis que le workaround documenté avec un ordre explicite continue de fonctionner.
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
- 45/100