使用plotly.express y轴数值无法按要求有序排列。
数据源如截图所示,是一个提前准备好的dataframe
绘图代码部分如下:
fig = px.line(df, x='date', y='VIDYA_arr')
# 自定义图表标题和轴标签
fig.update_layout(
title='Stock Closing Prices',
xaxis_title='Date',
yaxis_title='Closing Price')
fig.show()
绘制出来的图如下:
在绘制出来的图片上y轴的数值不是按照从小到大来排列的。怎么让画出的图上y轴数字是从小到大,画出来的图上也是能够反映出数据随时间推移的波动?
问题已经解决。原因是数据是从csv文件导入到的,数值其实都是str格式。把数据转化成浮点型以后,绘图就没有上面讲的异常了。
【以下回答由 GPT 生成】
首先,如果想让Y轴的数值按照从小到大的顺序排列,可以对数据源进行排序。
假设你的DataFrame中的列name为Y轴的数值列,可以使用pandas库对数据进行排序,代码如下:
import pandas as pd
df_sorted = df.sort_values(by='name')
然后,将排序后的DataFrame传入plotly.express绘图的函数中,代码如下:
fig = px.line(df_sorted, x='date', y='VIDYA_arr')
# 自定义图表标题和轴标签
fig.update_layout(
title='Stock Closing Prices',
xaxis_title='Date',
yaxis_title='Closing Price'
)
fig.show()
这样绘制出来的图上的Y轴数字就会按照从小到大的顺序排列。
注意:你需要把代码中的'name'替换为你实际使用的Y轴数值列的名称。如果你的Y轴数值列是数值类型的话,在使用sort_values
时会按照从小到大的顺序排列;如果是字符串类型的话,会按照字母顺序排列。如果你的Y轴数值列是日期类型的话,可能需要先进行转换成日期类型再排序。
【相关推荐】