plotly / plotly/plotly.py

Bar chart with timeseries index not displaying depending on proximity of the times

Offen
#2,987 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug P3
Vorherrschende Sprache
Python
Sterne
18.8k
Forks
2.8k
Ø Merge
16 Std. 26 Min.
Gemergte PRs (30 T.)
21

Beschreibung

Found an issue causing a bar chart to display nothing when displaying timeseries data. It seems to be caused by having stacked data at two points which are very close in time (e.g. 12:00:00 and 12:00:01) and then one point much further away (e.g. 17:00:00).

import pandas as pd
import plotly.express as px

times = ['2020-12-18 02:15:00', '2020-12-18 02:15:00', '2020-12-18 02:15:00', '2020-12-18 02:15:01']  
#times = ['2020-12-18 02:15:00', '2020-12-18 02:15:00', '2020-12-18 02:15:00', '2020-12-18 02:15:00'] <-- works
vals = [10, 50, 20, 350, 250]

# Uncomment to cause bar chart to display no data
# times.append('2020-12-18 13:00:00')
# vals.append(1)
  
df = pd.DataFrame(list(zip(times, vals)), 
               columns =['DT', 'Val']) 

df['DT'] = pd.to_datetime(df['DT'])

df = df.set_index('DT')
fig = px.bar(df, x=df.index, y=df['Val'])

fig.show()
  • The code unchanged displays the figure fine
    1
  • If you uncomment the two append lines, adding in a data point which is further away, then the figure is empty
    2
  • If you uncomment the two append lines and changes the initial times list so that they are all :00, the figure displays fine
    3

Therefore it seems to be caused by having points at 02:15:00 / 02:15:01 and then a point much later at 13:00:00

Thanks

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Ausführung der pandas- und Plotly-Express-Reproduktion des Issues, zuerst mit den Zeitstempeln mit engem Abstand und anschließend mit dem zusätzlichen Punkt 13:00:00. Vergleiche in beiden Fällen die generierten Figure-Daten oder die Darstellung; abgeschlossen ist die Aufgabe, wenn das Balkendiagramm die bereitgestellten Zeitreihendaten im fehlschlagenden Fall anzeigt, ohne die funktionierenden Beispiele zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
pandas, plotly, python
Bereich
data-visualization
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.