You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly绘图出现异常直线,Matplotlib无此问题,求排查原因

分析与解决方案

这可不是Plotly的bug哦,问题根源出在数据的日期排序上~

为啥会出现异常直线?

你请求MOEX数据的时候,参数里加了sort_order_desc=desc,拿到的数据是按交易日期降序排列的——最新的日期排在最前面,最早的在最后。Plotly画折线图的时候,是严格按照你给的x轴顺序来连接点的,日期逆序的话,折线就会从最新的日期往最早的画,每个指标系列都是这么来,自然就出现了那些看起来“跳来跳去”的直线。而Matplotlib比较贴心,默认会自动给x轴的日期做排序,所以你用它画的时候就没这问题。

怎么修复?

很简单,把数据按Date列升序排好再绘图就行:

# 按日期正序排列
df = df.sort_values('Date')

# 再重新绘图
plot([{ 'x': df['Date'], 'y': df[col], 'name': col } for col in df.columns[1:]])
df.iplot()

额外验证步骤

你可以先打印下数据的首尾日期,确认是不是逆序的:

print("前5条数据的日期:")
print(df['Date'].head())
print("\n后5条数据的日期:")
print(df['Date'].tail())

排序之后,日期就会从最早到最新依次排列,折线图就会按正常的时间顺序绘制,那些异常直线也就消失啦。


内容的提问来源于stack exchange,提问作者tallsamurai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 13:58:13