Polars timezone not respected in graph_objects.scatter
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 18.8k
- Forks
- 2.8k
- Merge moyen
- 16 h 26 min
- PR mergées (30 j)
- 21
Description
latest version of plotly // python 3.12
from datetime import datetime, timedelta
from zoneinfo import ZoneInfo
import pandas as pd
import polars as pl
daterange = [datetime(2023, 1, 1, tzinfo=ZoneInfo("Australia/Brisbane")) + timedelta(hours=i) for i in range(48)]
df_1 = pl.DataFrame(
{
"timestamp": daterange,
"line1": [0.1] * 24 + [0.2] * 24,
}
)
df_2 = pl.DataFrame(
{
"timestamp": daterange,
"line2": [0.0] * 24 + [0.4] * 24,
}
)
fig = px.line(df_1, x="timestamp", y="line1")
fig.add_trace(
go.Scatter(
x=df_2["timestamp"],
y=df_2["line2"],
name="line2",
)
)
fig.show()
"line1" (using px.line )renders correctly with local time on the X-axis. But "line2" (using go.Scatter) gets converted to UTC.
This goes away if df_2 uses pandas or I pass in df_2['timestamp'].to_list() instead.
Probably related to https://github.com/plotly/plotly.py/issues/5166 - is this just because polars isn't supported, but since we've not got type hints in plotly my IDE wasn't complaining?
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la reproduction Python fournie, en comparant px.line à go.Scatter lorsque x est une Polars timestamp Series plutôt qu’une liste ou des données pandas. Suivez le chemin de conversion utilisé par go.Scatter et vérifiez comment les informations de fuseau horaire sont gérées. Le travail est considéré comme terminé lorsque la Polars Series conserve systématiquement le fuseau horaire local et que la reproduction affiche les deux traces avec des valeurs temporelles correspondantes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- pandas, python
- Domaine
- data-visualization
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100