plotly / plotly/plotly.py

Missing functionality in `px.timeline` against `create_gantt()` figure factory

Ouverte
#3,675 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

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

Description

create_gantt() figure factory is deprecated in favor of px.timeline, but create_gantt() has the feature (argument) group_tasks that is not present with px.timeline.
An additional issue is that the group_task argument is not explained in the create_gantt() documentation check here.

For example, the code:

import plotly.express as px
import pandas as pd

df = pd.DataFrame([
    dict(Task="Job A", Start='2009-01-01', Finish='2009-02-28', Resource='Alex'),
    dict(Task="Job B", Start='2009-03-05', Finish='2009-04-15', Resource='Max'),
    dict(Task="Job C", Start='2009-02-20', Finish='2009-05-30', Resource='Max'),
    dict(Task="Job A", Start='2009-03-02', Finish='2009-05-30', Resource='Alex')
])

fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color = "Resource")
fig.update_yaxes(autorange="reversed") # otherwise tasks are listed from the bottom up
fig.show()

Produces:
enter image description here

And I would like to have each tasks in the input data frame into its own line in the y-axis, even for repeating tasks:
enter image description here

We can obtain this using create_gantt() like:

from plotly.figure_factory import create_gantt

fig = create_gantt(df, index_col='Resource', 
                      showgrid_x=True, showgrid_y=True,
                      show_colorbar=True,
                      group_tasks=False
                      )
fig.update_yaxes(autorange="reversed")
fig.show()

Obtaining:
2022-04-11 19_51_14-127 0 0 1_1586

The order follows the order in the df which I found a correct behavior, but an extra input to define the order in create_gantt() would be useful.

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 le point d’entrée px.timeline et comparez son comportement avec la fabrique de figures create_gantt(), en particulier l’argument group_tasks présenté dans les exemples. Consultez la documentation de l’API de create_gantt() pour trouver la description manquante de l’argument. Le travail est considéré comme terminé lorsque des tâches répétées peuvent être affichées sur des lignes distinctes de l’axe y avec un ordre défini, et que le comportement correspondant est documenté.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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