Y轴上的值被称为y刻度标签(刻度是轴上的短线)。正如@Martini所示,可以使用状态机设置它。还有面向对象的方法,我认为更加透明。
这种方法是您可以显式创建一个Axes对象并调用相应的方法(这在plt.xticks()
下也是在幕后完成的)。
选项#1。例如,要设置yticks,有专用的ax.set_yticks()
方法。
x = np.array([0,1,2,3])
y = np.array([0.650, 0.660, 0.675, 0.685])
my_xticks = ['John','Arnold','Mavis','Matt']
fig, ax = plt.subplots(facecolor='white')
ax.plot(x, y)
ax.set_xticks(x)
ax.set_xticklabels(my_xticks)
ax.set_yticks(np.arange(y.min(), y.max(), 0.005))
ax.grid(axis='y');
选项#2。 Axes对象还定义了set()
方法,可用于设置多个属性,如xticks,yticks,ylabel等。
fig, ax = plt.subplots(facecolor='white')
ax.plot(x, y)
ax.set(xticks=x, xticklabels=my_xticks, yticks=np.arange(y.min(), y.max(), 0.005), xlabel='x axis', ylabel='y axis');
ax.grid(axis='y');
选项 #3. 每个轴也定义了轴对象(YAxis 和 XAxis),它们各自定义了一个 set()
方法,可用于设置该轴上的属性。
fig, ax = plt.subplots(facecolor='white')
ax.plot(x, y)
ax.xaxis.set(ticks=x, ticklabels=my_xticks, label_text='x axis')
ax.yaxis.set(ticks=np.arange(y.min(), y.max(), 0.005), label_text='y axis')
ax.yaxis.grid();
![result](https://istack.dev59.com/KSfUX.webp)