plotly / plotly/plotly.py

Violin plot with 'name' attribute set as Datetime gets flattened out

Aperta
#3,455 1 commento 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug P3
Lingua principale
Python
Stelle
18.8k
Fork
2.8k
Merge medio
16h 26m
PR unite (30g)
21

Descrizione

I'm trying to make a horizontally oriented ridge plot . Following is the code
plotly.version == 5.3.1

Ridgeline plot

base_date = dt.datetime.strptime(start_date,'%Y-%m-%d')
fig = go.Figure()

for day in range(days) :
                    offset = dt.timedelta(days=day)
                    date = (base_date + offset).strftime('%Y-%m-%d')
                    violin_plot_data = swData[date]
                    fig.add_trace(go.Violin(x = violin_plot_data.loc[:,metric_name] , 
                                                    orientation = 'h',
                                                    width = 3 ,
                                                    side = 'positive',
                                                    meanline_visible=True,
                                                    points = False
                                                   )
                                         )
    
fig.show()

I'm getting the following output :

newplot (1)

However I wish to set "name" attribute for individual dates . I did the following

Ridgelin plot

base_date = dt.datetime.strptime(start_date,'%Y-%m-%d')
fig = go.Figure()

for day in range(days) :
    offset = dt.timedelta(days=day)
    date = (base_date + offset).strftime('%Y-%m-%d')
    violin_plot_data = swData[date]
    fig.add_trace(go.Violin(x = violin_plot_data.loc[:,metric_name] , 
                                    orientation = 'h',
                                    width = 3 ,
                                    side = 'positive',
                                    name = date,
                                    meanline_visible=True,
                                    points = False
                                   )
                         )
fig.show()

The output that I'm getting is

newplot (2)

Kindly clarify if it's a bug in the framework or a silly mistake from my side . TY :)

EDIT : I've found a work around and answered it here [https://stackoverflow.com/a/69894008/6571670] but I feel Plotly should be able to parse dates explicitly

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Riprodurre l’esempio di ridge-plot fornito con Plotly 5.3.1, prima senza e poi con la stringa datetime passata come name di ogni trace di violino. Tracciare come vengono analizzati e renderizzati i nomi dei violini, quindi verificare che le etichette delle date rimangano distinte e che il grafico non venga appiattito; conservare il workaround segnalato come caso di regressione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
data-visualization
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
55/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.