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

如何修改Matplotlib柱状图的Y轴范围?问题排查及解决

解决Matplotlib柱状图Y轴无法从0起始且报错的问题

问题场景

我有一个DataFrame(df),从中索引得到europe_n(5行45列),想基于字符串类型的Country列和数值逻辑的Population列绘制柱状图,初始代码如下:

plt.bar(df['Country'],df['Population'], label='Population')
plt.xlabel('Country')  
plt.ylabel('Population')  
plt.legend()  
plt.show()

遇到的问题

生成的图表Y轴起始值为43,094,尝试调用plt.ylim(0,500000)调整Y轴从0开始时,既无效果还报错,Jupyter提示「没有可绘制的整数」。

排查与解决

排查后发现DataFrame所有列都是object数据类型——Population列虽然逻辑上是数值,但实际存储为对象类型,导致Matplotlib无法识别为数值型数据进行正确的轴范围设置。

将Population列转换为int类型后,代码正常生效,plt.ylim()也能正确设置Y轴范围,得到预期图表。

修正后的完整代码

# 先转换Population列为整数类型
df['Population'] = df['Population'].astype(int)

# 绘制柱状图并设置Y轴范围
plt.bar(df['Country'], df['Population'], label='Population')
plt.xlabel('Country')  
plt.ylabel('Population')  
plt.ylim(0, 500000)
plt.legend()  
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:18:55