为了账号安全,请及时绑定邮箱和手机立即绑定

Plotly:使用 plotly 和 datetime 索引绘制时间序列

Plotly:使用 plotly 和 datetime 索引绘制时间序列

MYYA 2023-02-07 14:21:54
我正在尝试使用 plotly 绘制 1993 年至 2020 年收益率差的折线图。在名为“data”的数据框中,变量的名称是“yieldsp”。它是一个具有 DateTime 索引的时间序列数据,如下所示:data['yieldsp'].head()Date1993-10-01    2.361993-10-04    2.321993-10-05    2.291993-10-06    2.311993-10-07    2.28Name: yieldsp, dtype: float64data.indexDatetimeIndex(['1993-10-01', '1993-10-04', '1993-10-05', '1993-10-06',               '1993-10-07', '1993-10-08', '1993-10-12', '1993-10-13',               '1993-10-14', '1993-10-15',               ...               '2020-06-12', '2020-06-15', '2020-06-16', '2020-06-17',               '2020-06-18', '2020-06-19', '2020-06-22', '2020-06-23',               '2020-06-24', '2020-06-25'],              dtype='datetime64[ns]', name='Date', length=6688, freq=None)我写了下面的代码来获取情节:# Using plotly.expressimport plotly.express as px#data = px.data.iris()fig = px.line(data['yieldsp'], x = data.index, y ='Yield Spread', line_shape="spline", render_mode="svg")fig.show()
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

您的数据样本和数据描述不完整。您将数据显示为data['yieldsp'],但根据您尝试运行的情况判断,您也px.line有其他变量。continentdata

无论如何,您在这里尝试的是px.line在宽格式数据集上运行。最新px.express版本的. 但是,将一个字符串分配给该方法并期望您以这种方式命名您的行是行不通的。是一种将数据作为定义为字符串的参数的方法,作为对数据集的引用。使用你可以用来重命名你的线路。但这在这里是不可能的。所以这里最简单的事情是在绘图之前重命名数据集中的变量。您仍然没有提供完整的数据样本,但如果没有,这里是您如何构建您情节yygo.Scatter()name='yieldspcontinent在你的数据集中。

阴谋:

//img1.sycdn.imooc.com//63e1ee2d00016df606530322.jpg

完整代码:


import plotly.express as px

import pandas as pd


# data that hopefullt represents your real world dataset

data = pd.DataFrame({'Date': {0: '1993-10-01',

                              1: '1993-10-04',

                              2: '1993-10-05',

                              3: '1993-10-06',

                              4: '1993-10-07'},

                     'yieldspd': {0: 2.36, 1: 2.32, 2: 2.29, 3: 2.31, 4: 2.28}})

data.set_index('Date', inplace = True)


# rename 'yieldspd'

data = data.rename(columns={'yieldspd': 'Yield Spread'})


# produce figure

fig = px.line(data, x = data.index, y ='Yield Spread', line_shape="spline")


# show figure

fig.show()


查看完整回答
反对 回复 2023-02-07
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信