你可以使用以下命令显式设置要在刻度线打勾的位置
plt.xticks:
plt.xticks(np.arange(min(x), max(x)+1, 1.0))
例如,
import numpy as npimport matplotlib.pyplot as pltx = [0,5,9,10,15]y = [0,1,2,3,4]plt.plot(x,y)plt.xticks(np.arange(min(x), max(x)+1, 1.0))plt.show()
(以防万一,
np.arange使用它而不是Python的range函数
min(x),
max(x)它们是浮点数而不是整数。)
的
plt.plot(或
ax.plot)功能将自动设置默认x和y限制。如果你希望保留这些限制,而只是更改刻度线的步长,则可以
ax.get_xlim()用来发现
Matplotlib已设置的限制。
start, end = ax.get_xlim()ax.xaxis.set_ticks(np.arange(start, end, stepsize))
默认的刻度格式设置器应将刻度值四舍五入为有意义的有效数字位数。但是,如果希望对格式有更多控制,则可以定义自己的格式器。例如,
ax.xaxis.set_major_formatter(ticker.FormatStrFormatter('%0.1f'))这是一个可运行的示例:
import numpy as npimport matplotlib.pyplot as pltimport matplotlib.ticker as tickerx = [0,5,9,10,15]y = [0,1,2,3,4]fig, ax = plt.subplots()ax.plot(x,y)start, end = ax.get_xlim()ax.xaxis.set_ticks(np.arange(start, end, 0.712123))ax.xaxis.set_major_formatter(ticker.FormatStrFormatter('%0.1f'))plt.show()


