Python plotly 折线图 y 轴按从 CSV 读取的顺序打印,而不是按顺序打印

Posted

技术标签:

【中文标题】Python plotly 折线图 y 轴按从 CSV 读取的顺序打印,而不是按顺序打印【英文标题】:Python plotly line chart y-axis prints in order it is read from CSV rather than sequentially 【发布时间】:2022-01-13 07:35:45 【问题描述】:

我有一个 CSV 文件,其中 A 列 (MMM-YYYY) 中的日期和 B、C 和 D 列中的累积百分比股票收益。我正在尝试创建一个折线图来比较股票在此期间的表现。但是,当我运行我的代码时,y 轴不像在 excel 中那样按数字顺序(从低到高),例如我希望 y 轴以最低值开始并以最高值结束。有谁知道如何纠正这个问题?

我的代码和输出如下所示。

   import plotly.express as px
   import pandas as pd
   import numpy as np

   Return = pd.read_csv('MonthlyReturnsColumn.csv')
   fig = px.line(Return, x="Month", y=Return.columns[1:4], title="Cumulative Return")
   fig.update_yaxes(type ='category')
   fig.show() 

y-axis jumbled

【问题讨论】:

【参考方案1】:

我发现了问题:CSV 数据是字符串而不是浮点数。最简单的解决方法是将文件格式改回 xlsx。新代码如下:

import plotly.express as px
import pandas as pd
import numpy as np

Return = pd.read_excel('MonthlyReturnsColumn.xlsx')
fig = px.line(Return, x="Month", y=Return.columns[1:4], title="Cumulative Return")      
fig.show() 

结果图将是:

【讨论】:

以上是关于Python plotly 折线图 y 轴按从 CSV 读取的顺序打印,而不是按顺序打印的主要内容,如果未能解决你的问题,请参考以下文章

Plotly:双 y 轴图弄乱了折线图

如何用python画出折线图

折线图 plot

折线图 plot

使用matplotlib.pyplot中plot()绘制折线图

matplotlib-折线图