为什么“ xticks”在图形上起作用而“ set_xticks”在轴上无效?

时间:2018-08-14 14:30:45

标签: python matplotlib

这应该可以,但是不能吗?

plt.figure()
plt.plot(x)
plt.xticks(range(4), [2, 64, 77, 89])  # works

f, ax = plt.subplots(nrows=2, ncols=2)
ax[0, 0].plot(x)
ax[0, 0].set_xticks(range(4), [2, 64, 77, 89])  # does not work

1 个答案:

答案 0 :(得分:2)

在使用面向对象的API时(如第二个示例所示),用于设置刻度位置和刻度标签的函数是分开的-ax.set_xticksax.set_xticklabels。因此,您将需要:

f, ax = plt.subplots(nrows=2, ncols=2)
ax[0, 0].plot(x)
ax[0, 0].set_xticks(range(4))
ax[0, 0].set_xticklabels([2, 64, 77, 89])