px.timeline Incorrectly interprets x_end datetimes
Dieses Issue hat noch niemand übernommen.
- 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.

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).

Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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