plotly / plotly/plotly.py

px.timeline Incorrectly interprets x_end datetimes

Offen
#3,473 5 Kommentare 2 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

The px.timeline function incorrectly generates the end times of the bar traces. The end times are placed before the start times.

Python version 3.8.6
Plotly version 5.4

Steps to reproduce:

import datetime
import plotly.express as px
t0 = datetime.datetime.now()
tf = t0 + datetime.timedelta(hours=1)
px.timeline(x_start=[t0], x_end=[tf])

print(t0)
print(tf)

Produces

2021-11-16 12:21:14.800827  # t0
2021-11-16 13:21:14.800827  # tf

The resulting figure is below. Notice that the right edge of the bar is the same as the start time, but the left edge of the bar is something else entirely.
px_timeline_error

The behavior is the same when passing a dataframe and column names. If you generate a scatter plot using the same datetime objects, the output works as expected (shown below).

correct_scatter

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 beim px.timeline-Einstiegspunkt und reproduziere das Problem mit den im Bericht angezeigten datetime-Werten, indem du die Koordinaten seines Balken-Traces mit einem Scatterplot vergleichst, der dieselben Werte verwendet. Verfolge, wie x_start und x_end in die Figure konvertiert werden, und überprüfe anschließend, ob der generierte Balken die erwarteten Start- und Endzeiten hat und ob sich der Fall mit DataFrame und Spaltennamen ebenfalls korrekt verhält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
data-visualization
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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