如何在 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 年,这意味着它之间没有很多数据点,这就是为什么您的第二个图表看起来像那样。
尝试绘制将其转换为字符串而不是日期时间,但那样它就不是时间序列,因为您将缺少许多日期
这里我有两个解决方案:
- 使用 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 轴值
- 将 x 轴值转换为日期时间对象
按照这个 link:
当我仅使用索引绘制数据时,图表看起来不错。但是当我尝试在 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 年,这意味着它之间没有很多数据点,这就是为什么您的第二个图表看起来像那样。
尝试绘制将其转换为字符串而不是日期时间,但那样它就不是时间序列,因为您将缺少许多日期
这里我有两个解决方案:
- 使用 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 轴值
- 将 x 轴值转换为日期时间对象 按照这个 link: