如何将Python柱状图Y轴起始值设为0?已尝试set_ylim无效
解决Python柱状图Y轴范围设置问题
嘿,我一眼就瞅出问题啦!你尝试用.set_ylim(ymin=0)没生效,是因为这个方法不是直接给plt(pylab接口)用的——它属于matplotlib里的坐标轴对象(Axes),直接调用plt.set_ylim()会找不到这个方法,自然达不到预期效果~
要实现Y轴从0到25的需求,有两种简单的方式:
方式一:直接用plt.ylim()设置
这是最贴合你现有代码的写法,直接在plt.show()前添加一行plt.ylim(0, 25)就行,完整代码如下:
import pylab as plt LocationNo = [1,2] Temp = [16, 23] LABELS = ["Gold Coast", "Sunshine Coast"] plt.bar(LocationNo, Temp, align='center') plt.xticks(LocationNo, LABELS) # 设置Y轴范围:起始0,终止25 plt.ylim(0, 25) plt.show()
方式二:用面向对象的轴对象设置(更推荐的matplotlib规范写法)
如果想更灵活地控制图表元素,可以先获取坐标轴对象,再用set_ylim()方法:
import pylab as plt LocationNo = [1,2] Temp = [16, 23] LABELS = ["Gold Coast", "Sunshine Coast"] # 获取当前坐标轴对象 ax = plt.gca() ax.bar(LocationNo, Temp, align='center') ax.set_xticks(LocationNo) ax.set_xticklabels(LABELS) # 设置Y轴范围 ax.set_ylim(0, 25) plt.show()
这样修改后,你的柱状图Y轴就会从0开始,到25结束,完美匹配你的需求啦!
内容的提问来源于stack exchange,提问作者Harry
相关产品推荐
相关产品推荐

