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

如何在Pandas中设置数据集标签与刻度?条形图X轴标签缺失求助

解决Pandas条形图X轴刻度标签不显示的问题

我帮你梳理下问题所在,然后给出修正方案:

问题拆解

你当前遇到两个核心小问题:

  • 颜色参数非法:'deepbluesky'不是Matplotlib/Pandas支持的颜色值,正确拼写应该是'deepskyblue',也可以用十六进制色码比如#00BFFF替代。
  • X轴刻度被主动清空:你写的plt.xticks([], rotation = 'vertical')里,空列表[]直接移除了所有X轴刻度,自然看不到城市名称标签。

修正后的完整代码

假设你的数据集是这样构造的,我给出两种可行写法:

写法一:将城市列设为索引(推荐)

import pandas as pd
import matplotlib.pyplot as plt

# 构造你的数据集
data = {
    'City': ['City1', 'City2', 'City3', 'City4'],
    'Value': [1000, 1020, 940, 720]
}
df = pd.DataFrame(data).set_index('City')  # 将City列设为索引,Pandas会自动用它做X轴标签

# 绘制条形图
df.plot.bar(color='deepskyblue', width=0.6)  # width设为0.6更合理,原2会超出画布
plt.xticks(rotation='vertical')  # 只保留旋转参数,不要传空列表
plt.xlabel('城市名称')
plt.ylabel('数值')
plt.title('各城市数值对比')
plt.tight_layout()  # 自动调整布局,避免标签被截断
plt.show()

写法二:手动指定X轴标签

如果你的DataFrame没有把City设为索引,也可以手动绑定标签:

import pandas as pd
import matplotlib.pyplot as plt

data = {
    'City': ['City1', 'City2', 'City3', 'City4'],
    'Value': [1000, 1020, 940, 720]
}
df = pd.DataFrame(data)

# 指定x轴为City列
ax = df.plot.bar(x='City', y='Value', color='deepskyblue', width=0.6)
# 手动设置X轴标签并旋转
ax.set_xticklabels(df['City'], rotation='vertical')
plt.tight_layout()
plt.show()

关键修改说明

  1. 修正颜色参数为合法值,避免绘图报错。
  2. 移除plt.xticks中的空列表参数,保留默认刻度(也就是你的城市名称),只通过rotation控制标签角度。
  3. 调整width参数到合理范围,避免条形图超出画布。
  4. 用plt.tight_layout()防止标签被画布边缘截断。

这样就能正常显示每个城市的X轴刻度和标签啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 19:48:11