恢复matplotlib默认轴刻度

Elg*_*rov 7 python matplotlib axis-labels

我的问题是如何在更改它们后恢复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()
Run Code Online (Sandbox Code Playgroud)

Elg*_*rov 6

我已经找到了我自己问题的答案。正如 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()
Run Code Online (Sandbox Code Playgroud)