我的问题是如何在更改它们后恢复matplotlib默认轴刻度。例如,在下面的代码中,我绘制了1到9的数字平方,然后将yticks更改为[20,40,60]。在我更改之前,此图的默认yticks是[0,10,20,30,40,50,60,70,80]。那么,从现在开始,我怎样才能恢复那些默认的yticks?
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(9) + 1
y = x ** 2
fig, ax1 = plt.subplots()
ax1.plot(x, y)
ax1.set_yticks([20, 40, 60])
plt.show()
答案 0 :(得分:3)
我找到了自己问题的答案。如matplotlib文档中所述,AutoLocator是大多数绘图的默认刻度定位器。要启用AutoLocator,请查看下面重新编辑的脚本版本。
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import AutoLocator
x = np.arange(9) + 1
y = x ** 2
fig, ax1 = plt.subplots()
ax1.plot(x, y)
ax1.set_yticks([20, 40, 60])
ax1.yaxis.set_major_locator(AutoLocator()) # solution
plt.show()