繁体   English   中英

如何将数字标签格式化为 python 中 plotly x 轴上的日期时间标签?

[英]How to format numerical labels into datetime labels on a plotly xaxis in python?

我有一个 plotly 散点图 plot 就像这个例子:

x = [1,2,3,4,5]
y = [3,2,3,5,6]

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y))
fig.show()

现在我想将 x 轴数字 label 作为日期,例如:

dates = pd.date_range('2022-01-01', periods=len(x), freq='1H')
dates.values

数组(['2022-01-01T00:00:00.000000000', '2022-01-01T01:00:00.000000000', '2022-01-01T02:00:00.000000000', '2022-01-01T03:00:00.0000'0000 , '2022-01-01T04:00:00.000000000'], dtype='datetime64[ns]')

我怎样才能做到这一点?

这里的背景是我想根据数字 x 轴添加 vlines 或其他东西我只想将标签显示为日期。 这可能吗? 问题的标题是否可以理解?

要在保持已创建的 x 轴有效的同时将刻度更改为日期,最简单的方法是为刻度值指定 x 值并将刻度字符串从日期转换为字符串。

import plotly.graph_objects as go
import pandas as pd

x = [1,2,3,4,5]
y = [3,2,3,5,6]
dates = pd.date_range('2022-01-01', periods=len(x), freq='1H')

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y))

fig.update_xaxes(tickvals=x, ticktext=[d.strftime('%Y-%m-%d %H:00') for d in dates])
fig.show()

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM