You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly绘制散点图时X轴日期仅显示年月 如何展示日时分?

Plotly时间轴粒度不足问题修复

问题现象

使用如下代码绘制时间维度散点图时,X轴默认仅展示年、月维度,未显示日、小时、分钟级时间信息:

fig = px.scatter(df, x="Date", y="char_count", trendline="ols")
fig.show()

问题效果参考:
X轴仅显示年月的渲染效果

问题原因

Plotly 对时间轴的刻度有自动适配逻辑:会根据当前数据覆盖的总时间跨度自动选择刻度粒度和显示格式,当数据时间跨度较大时,会默认使用粗粒度的年/月刻度,不会主动展示细粒度时间信息。

修复方案

  • 前置校验:先确认Date列已被正确解析为Pandas的datetime类型,未转换时先执行类型转换:
import pandas as pd
df["Date"] = pd.to_datetime(df["Date"])
  • 绘图时通过update_xaxes方法自定义X轴的刻度间隔、显示格式,按需配置到需要的时间粒度即可,参考代码如下:
import plotly.express as px

fig = px.scatter(df, x="Date", y="char_count", trendline="ols")
fig.update_xaxes(
    # dtick单位为毫秒,按需选择间隔:
    # 1天间隔:86400000;1小时间隔:3600000;1分钟间隔:60000
    dtick=86400000,
    # tickformat为时间显示格式,%Y=年 %m=月 %d=日 %H=时 %M=分
    tickformat="%Y-%m-%d %H:%M",
    # 刻度文字倾斜45度,避免细粒度下文字重叠
    tickangle=-45
)
fig.show()

常用配置参考

  • 按天展示:dtick=86400000,格式可写为"%Y-%m-%d"
  • 按小时展示:dtick=3600000,格式可写为"%Y-%m-%d %H:00"
  • 按分钟展示:dtick=60000,格式可写为"%H:%M"

内容的提问来源于stack exchange,提问作者Bruhlickd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 21:03:57