Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用Plotly绘制基于长格式的图形线_Python_Graph_Time Series_Plotly - Fatal编程技术网

在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])