在系列博文的中,我们已经学习了如何自定义绘图的颜色和样式,以使得绘制更加精美、符合审美要求。可以用Matplotlib绘制出复杂而又精美的统计图,同时也讲解了注释的用法,但是,很多时候我们还要对坐标轴进行自定义,以满足学习或工作的要求,使统计图变得清晰简洁,考虑到这一需求,Matplotlib提供了大量针对坐标轴的操作,利用这些方法对坐标轴按照需求进行定制可以使统计图变得更加清晰明了。
目前为止,我们让Matplotlib自动处理刻度在坐标轴上的位置,但有时我们需要覆盖默认的坐标轴刻度配置,以便更加快速估计图形中点的坐标。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
x = np.linspace(-20, 20, 1024)
y = np.sinc(x)
ax = plt.axes()
ax.xaxis.set_major_locator(ticker.MultipleLocator(5))
ax.xaxis.set_minor_locator(ticker.MultipleLocator(1))
plt.plot(x, y, c = ‘m’)
plt.show()
以上代码,强制水平刻度每隔5个单位步长呈现一次。此外,我们还添加了副刻度,副刻度的间隔为1个单位步长,步骤说明如下:
-
首先实例化一个Axes对象——用于管理图形中的坐标轴:
ax=plot.Axes()
。 -
然后使用
Locator
实例设置x轴(ax.xaxis)或y轴(ax.yaxis)的主刻度和副刻度。
也为副刻度添加辅助网格:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker