这应该有效,但没有?
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
Run Code Online (Sandbox Code Playgroud)
使用面向对象的 API 时(如您的第二个示例),设置刻度位置和刻度标签的函数是分开的 -ax.set_xticks和ax.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])
Run Code Online (Sandbox Code Playgroud)