在python中使用Plotly绘制基于长格式的图形线
我的数据集如下所示在python中使用Plotly绘制基于长格式的图形线,python,graph,time-series,plotly,Python,Graph,Time Series,Plotly,我的数据集如下所示 |CREDIT_ENTITY TENOR SPREAD SNAPSHOT_DATE| |ABC 1Y 127.161 14/09/2017| |ABC 3Y 150.161 14/09/2017| |ABC 5Y 180.161 14/09/2017| |ABC 7Y 111.161 14/09/2017| |ABC
|CREDIT_ENTITY TENOR SPREAD SNAPSHOT_DATE|
|ABC 1Y 127.161 14/09/2017|
|ABC 3Y 150.161 14/09/2017|
|ABC 5Y 180.161 14/09/2017|
|ABC 7Y 111.161 14/09/2017|
|ABC 10Y 128.161 14/09/2017|
|ABC 1Y 123.161 15/09/2017|
|ABC 3Y 145.161 15/09/2017|
|ABC 5Y 196.161 15/09/2017|
|ABC 7Y 111.161 15/09/2017|
|ABC 10Y 134.161 15/09/2017|
|ABC 1Y 109.161 25/09/2017|
|ABC 3Y 190.161 25/09/2017|
|ABC 5Y 180.161 25/09/2017|
|ABC 7Y 127.161 25/09/2017|
|ABC 10Y 170.161 25/09/2017|
我想为这样的数据集绘制一个图表,每个时期都有一条曲线。
我使用以下命令
将熊猫作为pd导入
将plotly.express导入为px
fig=px.线(最终日期,x=“快照日期”,y=“排列”,color=“期限”)
图2(图3)
我想问是否有人能帮忙?
谢谢你我不得不将你的数据帧重组为一个数据帧:
import matplotlib.pyplot as plt
import pandas as pd
tennors = [t for t in Final_DF['TENOR'].drop_duplicates()]
dfs = [Final_DF[Final_DF['TENOR'] == t] for t in tennors]
现在,在一个图中绘制所有数据帧(您可能需要在交互式窗口单元中运行它):
这对我很有用
这个答案能解决您的问题吗?您可以使用
pandas.Dataframe
方法有效地绘制数据。如果您进行Final_DF.plot(x='SNAPSHOT_DATE',y='SPREAD')
(),会发生什么?我不明白您希望每个期限都有一个图表,因为每一行只包含一个日期(x值)和一个排列值(y值)。所以,如果你真的想为每一个基调,也就是每一行,画一张图,你必须加上一个例子。我不确定你的意思,我想要的是一张所有5个十位数的图。所以expample tenor 1Y应该有一条曲线,在日期(14、15和25)处有点September@ConfusedLearner我想要的是一个时间序列,每个时期都有曲线(总共5条)我现在拿到了,但是第一个期限5Y不见了。你能复制并粘贴到你的数据框Final_DF
,这样我就可以测试它吗?我已经添加了数据,你现在可以试试吗?@ConfusedLearner。我没有添加完整的数据集,但想法是一样的
fig, ax = plt.subplots()
for df in dfs:
df.plot(x='SNAPSHOT_DATE', y='SPREAD', ax=ax, label=list(df['TENOR'])[0])