Export to png ; Export to html/png requires explicit range specified for dates (pd.DateTimeIndex)
Open
@ayjayt is already working on this.
Since Aug 26, 2025.
bug
P2
- Dominant language
- Python
- Stars
- 498
- Forks
- 62
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 2
Description
kaleido==1.0.0
plotly==6.3.0
The Scatter plot below using pandas dates look fine on the Notebook, but
- When exporting to html and png, the range needs to be set explicitly
range=[dates.min(), dates.max()]. Otherwise the default starts from Jan 2000. - For png export, after the explicit fix above, the x-axis range is corrected, but the line disappeared.
There's a workaround which is to convert the dates to str for the x data values first x=dates.strftime("%Y-%m-%d") but this is a gotcha.
# Sample time series data
dates = pd.date_range(start="2024-01-01", periods=30, freq="D")
values = [20 + i + (i % 7) * 3 for i in range(30)] # Trending data with weekly pattern
# Create line chart with Graph Objects
fig = go.Figure()
fig.add_trace(
go.Scatter(
x=dates, # Plotly handles pandas DatetimeIndex directly
y=values,
mode="lines+markers",
name="Daily Values",
line=dict(color="blue", width=2),
marker=dict(size=4),
)
)
# Update layout with explicit date range
fig.update_layout(
title="Basic Line Chart - Graph Objects API",
xaxis_title="Date",
yaxis_title="Value",
width=800,
height=600,
showlegend=True,
xaxis=dict(
type="date",
# Explicitly set the date range for html and image export
range=[dates.min(), dates.max()]
),
)
# Save as HTML and PNG
fig.write_html(data_dir / "01_basic_line.html")
fig.write_image(data_dir / "01_basic_line.png")
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.