Gantt chart export with kaleido v1.0.0 shows 1970 epoch
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 48/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Domínio
- data-visualization
Direção de pesquisa
Comece executando o exemplo mínimo em Python com pandas 2.3.1, plotly 6.3.0 e kaleido 1.0.0 e, em seguida, compare a imagem exportada com o ambiente mais antigo com kaleido 0.2.1. Rastreie o caminho de exportação estática para os valores de data da linha do tempo; considera-se concluído quando Gantt_Chart.png preserva as datas de agosto e setembro de 2025 no eixo x.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem Description
I'm reporting a bug with the new kaleido v1.0.0 engine, when I make a Gantt chart with plotly.express.timeline. The issue is how it handles my datetime objects (and with sting date) when I try to save a static image.
I found the problem in a couple of ways:
- When I run
fig.show()in my Jupyter Notebook, the chart looks perfect with the right 2025 dates. But when I save that same figure withfig.write_image(), I get a broken image. Its x-axis starts at 1970. - I get the exact same broken image with 1970 dates when I run my code as a normal Python script.
It really makes me think this is a regression bug in the kaleido v1.0.0 renderer.
Minimal Reproducible Example
This script will always create the error. The /// script part is there for anyone using a tool like Astral's uv.
# /// script
# requires-python = "==3.13.1"
# dependencies = [
# "pandas==2.3.1",
# "plotly==6.3.0",
# "kaleido==1.0.0",
# ]
# ///
import pandas as pd
import plotly.express as px
data: list[dict] = [
dict(Start="2025-08-16", Finish="2025-08-30", Task="Data Collection"),
dict(Start="2025-08-25", Finish="2025-09-15", Task="Identifying Problem"),
dict(Start="2025-09-13", Finish="2025-09-30", Task="Review & Submission"),
]
df: pd.DataFrame = pd.DataFrame(data)
df.Start = pd.to_datetime(df.Start)
df.Finish = pd.to_datetime(df.Finish)
fig = px.timeline(df, x_start="Start", x_end="Finish", y="Task", color="Task")
fig.update_layout(template="presentation")
fig.update_layout(autosize=False, width=1000, height=300, margin=dict(l=270, r=10))
fig.update_layout(
showlegend=False,
title="Gantt Chart",
bargap=0.45,
)
# This makes the wrong image
fig.write_image("Gantt_Chart.png")
Expected Behavior
I expected my saved file Gantt_Chart.png to show a chart with an x-axis properly showing dates in August and September 2025.
Actual Behavior
What I actually got in Gantt_Chart.png was a chart where the x-axis starts near January 5, 1970.
Working Environment Confirmation
I ran a control test to be sure. I tested my same code in an environment with older libraries:
plotly==6.0.0kaleido==0.2.1
In that setup, the bug is gone. My list of confirmations show that the static image Gantt_Chart.png saves perfect with the right 2025 dates.
This points me to think the problem is a regression in the newer code.
Failing Environment
- Python:
3.13.1 - pandas:
2.3.1 - plotly:
6.3.0 - kaleido:
1.0.0
- Linguagem predominante
- Python
- Estrelas
- 504
- Forks
- 65
- Merge médio
- 6d 9h
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de plotly/kaleido
-
Writing to an existing directory whose name has a dot fails with "Invalid format"Talvez já em andamento @RaphaelFakhri assumiu há 17 dias. Abertabug P3 size: 1
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
-
Deterministic Rendering ChallengesTalvez livre de novo @camdecoster assumiu há 71 dias e não há nenhum pull request aberto. Abertaenhancement feature P2 size: 5
-
[FEATURE]: Embed custom fonts into vector exports (no system install)Talvez já em andamento @camdecoster assumiu há 128 dias. Abertaenhancement P3 size: 3
-
enhancement feature P3 size: 5
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
-
GlobalKaleidoServer is not thread-safeTalvez já em andamento @talleibman assumiu há 254 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
Todas as issues de plotly/kaleido
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
pylint-dev/pylint#11791 ·
Mantenedores costumam responder em até 1 dia
-
Rasterio granule reads never retry, so one 503 (Service Unavailable) fails the whole requestTalvez já em andamento @chuckwondo assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
developmentseed/titiler-cmr#305 ·
Mantenedores costumam responder em até 1 dia
-
community enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia