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

Pandas绘图设置X轴刻度失效问题求助

解决X轴刻度标签错位、显示不全的问题

我来帮你搞定这个X轴刻度的问题!从你的描述和代码来看,核心问题是没有先指定X轴刻度的位置,直接设置标签导致标签和数据点不匹配,再加上pandas绘图默认会自动筛选显示的刻度,才出现了只显示部分邮编且位置错位的情况。

问题根源

当你直接调用ax4.set_xticklabels(postcodes)时,只是替换了当前已有刻度的标签,但pandas默认会根据数据范围自动选择显示哪些刻度(不是每个数据点都显示),这就导致标签数量和实际显示的刻度数量不匹配,位置自然就错位了。

修复后的代码

你需要先通过set_xticks指定每个数据点对应的刻度位置,再设置对应的邮编标签:

postcodes = ['6000', '6003', '6005', '6006', '6007', '6008', '6009', '6010', '6011', '6012']
ax4 = data9310.plot(title='Population 2011/2016')
# 设置刻度位置为每个数据点的索引位置,确保每个数据点都有对应刻度
ax4.set_xticks(range(len(data9310)))
# 为每个刻度设置对应的邮编标签
ax4.set_xticklabels(postcodes, rotation=0)

另一种更直观的方式

如果你的data9310行索引还没设置为邮编,可以直接把索引改成postcodes,这样绘图时X轴会自动关联这些标签:

postcodes = ['6000', '6003', '6005', '6006', '6007', '6008', '6009', '6010', '6011', '6012']
# 将数据的行索引设置为邮编
data9310.index = postcodes
# 绘图时指定显示所有刻度
ax4 = data9310.plot(title='Population 2011/2016', xticks=range(len(data9310)))
# 保持标签不旋转
ax4.set_xticklabels(postcodes, rotation=0)

这样修改后,每个数据点都会对应正确的邮编标签,所有邮编也都会完整显示出来啦!

内容的提问来源于stack exchange,提问作者Anthony.H

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:04:36