如何在 plotly 中绘制时间序列数据?

How to plot time series data in plotly?

当我仅使用索引绘制数据时,图表看起来不错。但是当我尝试在 x 轴上用日期时间对象绘制它时,绘图会变得一团糟。有谁知道为什么?我提供了数据的头部以及两个图。

import plotly.express as px
fig = px.line(y=data.iloc[:,3])
fig.show()

fig = px.line(y=data.iloc[:,3],x=data.iloc[:,0])
fig.show()

这可能是因为缺少日期,因为您有大约 180 个数据点,但您的第二个图表显示的数据跨度为 2014 年到 2019 年,这意味着它之间没有很多数据点,这就是为什么您的第二个图表看起来像那样。

尝试绘制将其转换为字符串而不是日期时间,但那样它就不是时间序列,因为您将缺少许多日期

这里我有两个解决方案:

  1. 使用 reset_index() 函数去除丢失的日期,但它只是解释图表,但 x 轴值不再提供日期信息。 举个例子: 这是数据框,我想绘制时间和收盘价之间的图表

import plotly.graph_objects as go
fig = go.Figure([go.Scatter(x=df.reset_index().index, y=df['close'])])
fig.show()

1277为指数值,对应值为收盘价。 使用 .iloc() 查找 x 轴值

  1. 将 x 轴值转换为日期时间对象 按照这个 link: