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

Dash Plotly折线图因缺失月度数据显示异常的解决方法咨询

解决Dash Plotly折线图因缺失数据导致的月份乱序问题

不需要重构DataFrame为多列格式,通过Plotly配置或Pandas类别转换就能解决问题,核心是强制X轴按月份的逻辑时间顺序排列,而非默认的字符串字母排序。

方法1:直接在Plotly布局中指定X轴类别顺序

Plotly默认会把字符串类型的X轴数据按字母排序,这就是6月(Jun)被错误排到最后的原因。你可以手动指定月份的标准顺序,让X轴严格按时间排列:

  1. 先定义葡萄牙语月份的正确顺序:
month_order = ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"]
  1. 绘制图表后,更新布局设置X轴的类别规则:
fig.update_layout(
    xaxis=dict(
        categoryorder='array',
        categoryarray=month_order
    )
)

无论数据中是否缺失月份,X轴都会按你指定的顺序排列,缺失月份的位置会留空,不会出现乱序。

方法2:将meses列转为Pandas有序类别

提前把月份列设置为有序类别,Plotly会自动识别这个顺序,无需额外配置布局:

import pandas as pd

month_order = ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"]
# 将meses列转为有序类别,锁定时间顺序
df['meses'] = pd.Categorical(df['meses'], categories=month_order, ordered=True)

用处理后的DataFrame绘制折线图,X轴会严格按时间顺序排列,缺失数据不会打乱轴的顺序。

两种方法都能解决你的问题,无需重构DataFrame结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:31:49