Matplotlib柱状图Y轴截断设置:如何将Y轴起始值设为0.7
调整Matplotlib柱状图Y轴起始值的方法
别担心,这个问题其实很好解决——虽然你是用Pandas调用绘图函数,但它的底层依赖的是Matplotlib,所以直接通过Matplotlib的轴对象就能轻松调整Y轴范围!
下面给你两种常用的实现方式,结合Pandas绘图场景:
方法一:获取绘图返回的轴对象设置
当你用Pandas的plot.bar()(或plot(kind='bar'))时,这个函数会返回一个Matplotlib的Axes对象,我们可以直接用它的set_ylim()方法来指定Y轴起始值:
import pandas as pd import matplotlib.pyplot as plt # 示例数据(模拟你的0.8-1之间的数值) df = pd.DataFrame({'metric': [0.83, 0.91, 0.87, 0.95, 0.89]}) # 绘制柱状图并获取轴对象 ax = df.plot(kind='bar') # 设置Y轴起始值为0.7,上限可以自动适配(或手动指定top=1) ax.set_ylim(bottom=0.7) # 如果需要固定上限为1,就写成:ax.set_ylim(bottom=0.7, top=1) plt.show()
方法二:获取当前活动轴设置
如果你已经绘制了图表,也可以用plt.gca()(Get Current Axes)获取当前的轴对象,再调整范围:
import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({'metric': [0.83, 0.91, 0.87, 0.95, 0.89]}) df.plot(kind='bar') # 获取当前轴并设置Y轴起始值 plt.gca().set_ylim(bottom=0.7) plt.show()
补充:直接用Matplotlib绘图的情况
如果你是直接用Matplotlib原生函数画柱状图,逻辑是一样的:
import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({'metric': [0.83, 0.91, 0.87, 0.95, 0.89]}) plt.bar(df.index, df['metric']) plt.ylim(bottom=0.7) # 直接设置Y轴范围 plt.show()
核心就是set_ylim()(或plt.ylim())这个方法,bottom参数控制Y轴的起始值,top控制上限——你可以只设置其中一个,另一个会自动适配数据范围,完全符合你想要的把Y轴起始设为0.7的需求。
内容的提问来源于stack exchange,提问作者toothsie
相关产品推荐
相关产品推荐

