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

Python柱状图X轴标签重复问题求助(航班延误数据集场景)

解释航班延误数据柱状图X轴标签重复的问题

嘿,我来帮你拆解下这个看似矛盾的问题——虽然你已经用np.unique(list(df['DAY_OF_MONTH']))确认了日期值是唯一的,但还是有几个常见的原因会导致X轴标签重复:

  • 聚合分组包含额外维度
    你提到用了grouped = ...进行聚合,如果你的分组键除了DAY_OF_MONTH,还包含了其他字段(比如年份、航班月份),那即使DAY_OF_MONTH本身是唯一值,聚合后的结果里会出现多个相同日期对应不同年月的行。比如数据里同时存在2023年1月1日和2024年1月1日,这两行的DAY_OF_MONTH都是1,当你只把DAY_OF_MONTH作为X轴时,就会重复显示标签"1"。

  • Matplotlib刻度渲染的视觉重复
    有时候即使X轴数据是唯一的,Matplotlib的自动刻度系统可能因为布局逻辑重复渲染标签。比如如果你的绘图代码手动设置了X轴刻度或标签,不小心重复添加了相同的内容;或者虽然你设了figsize=(20,20),但某些情况下刻度器会为了填充空间重复显示标签(不过针对1-31的日期,这个概率较低,但也值得排查)。

  • 数据类型不一致
    检查下DAY_OF_MONTH的数据类型:如果字段里同时存在整数和字符串类型的日期值(比如有的是1,有的是"1"),np.unique会把它们判定为不同值,但Matplotlib绘图时会把它们显示成相同的标签"1",看起来像是重复。你可以用df['DAY_OF_MONTH'].dtype查看类型,或者用pd.api.types.is_integer_dtype(df['DAY_OF_MONTH'])确认是否为统一的整数类型。

  • 聚合操作未正确合并行
    仔细检查grouped对象的内容:比如用grouped.size()查看每个DAY_OF_MONTH对应的行数是否为1。如果聚合时用了transform这类返回原数据行数的方法,或者聚合函数返回了多行结果,那grouped里会出现相同日期的重复行,直接用来绘图就会导致X轴标签重复。

快速排查的小技巧:打印grouped.index或者grouped['DAY_OF_MONTH']的内容,确认每个日期是否真的只出现一次,这样就能快速定位问题根源啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:17:21