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

如何在Plotly中将毫秒级Epoch时间戳转换为可读日期时间?

解决Plotly中毫秒级Epoch时间戳的x轴格式化问题

你遇到的问题核心有两个:一是x轴类型设为linear导致日期解析失效,二是时间格式符使用错误。下面是修正方案:

关键修正点

  • 将x轴类型改为date:linear类型会把时间戳当作普通数值处理,只有设为date,Plotly才会将其解析为日期时间。
  • 处理毫秒级时间戳:Plotly默认识别秒级Epoch时间戳,所以需要把毫秒值除以1000转换为秒级(或让Plotly自动识别毫秒,转换方式兼容性更稳妥)。
  • 使用正确的格式符:格式符不需要重复字母,比如%H表示小时,%M表示分钟,%S表示秒,而非%HH/%MM/%SS。

修正后的代码

import plotly.graph_objects as go

# 把毫秒级时间戳转换为秒级
time_series = [ts / 1000 for ts in [1716693661000, 1716693662000, 1716693663000, 1716693664000]]
prices = [20, 45, 32, 19]
 
fig = go.Figure()
fig.add_trace(go.Scatter(x=time_series, y=prices, yaxis='y'))

# 设置x轴为日期类型,同时配置时间格式和滑动条
fig.update_layout(xaxis=dict(
    rangeslider=dict(visible=True),
    type="date",
    tickformat="%Y-%m-%d %H:%M:%S"
))

fig.show()

补充说明

如果不想手动转换时间戳,也可以直接保留毫秒值,Plotly现在支持识别毫秒级Epoch,但转换为秒级的方式兼容性更好。另外,也可以用update_xaxes单独配置x轴:

fig.update_xaxes(type="date", tickformat="%Y-%m-%d %H:%M:%S")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 05:33:20