如何在Pandas plot()绘图中自定义设置y轴刻度步长为整数
解决方案
有两种常用的实现方式:
方式1:手动指定刻度
直接调用plt.yticks()传入目标整数刻度列表即可,修改后代码如下:
row = df.iloc[0].astype(int) plt.subplot(1, 2, 1) row.plot(marker='o', fontsize=20, ylabel=yax_label) # 自定义y轴刻度 plt.yticks([3,4,5,6,7]) plt.show()
如果需要根据数据范围自动生成整数刻度,不需要手动写死:
import numpy as np row = df.iloc[0].astype(int) plt.subplot(1, 2, 1) row.plot(marker='o', fontsize=20, ylabel=yax_label) # 自动适配数据的整数刻度 y_min, y_max = row.min(), row.max() plt.yticks(np.arange(y_min, y_max + 1, step=1)) plt.show()
方式2:通过刻度定位器强制整数间隔
使用matplotlib的MultipleLocator设置y轴主刻度步长为1,自动生成全整数刻度:
from matplotlib.ticker import MultipleLocator row = df.iloc[0].astype(int) plt.subplot(1, 2, 1) ax = row.plot(marker='o', fontsize=20, ylabel=yax_label) # 强制y轴主刻度间隔为1 ax.yaxis.set_major_locator(MultipleLocator(1)) plt.show()
内容的提问来源于stack exchange,提问作者mahmood
相关产品推荐
相关产品推荐

