设置坐标轴的刻度

以设置x轴的刻度为例

xticks(ticks, [labels], **kwargs)

参数说明: ticks:数组类型,用于设置X轴刻度间隔 [labels]:数组类型,用于设置每个间隔的显示标签 **kwargs:用于设置标签字体倾斜度rotation和颜色color等外观属性。

不设置刻度时的样式

x = np.arange(1, 13)
y = np.arange(1, 13)

plt.plot(x, y)
plt.show()

Matplotlib绘图第七关--设置坐标轴的刻度xticks、yticks_旋转角度

可以发现,本来x和y都是1-12,但是刻度却只显示偶数,这是Matplotlib默认的样式。

我们可以自己定义刻度

x = np.arange(1, 13)
y = np.arange(1, 13)

# 第一个参数是x轴刻度间隔,x是包含1-12的数组
# calendar.month_name[1:13] 获取1-12月份对应的英文名 即 1 - January
# rotation 设置label的旋转角度
# color设置label字体颜色
plt.xticks(x,calendar.month_name[1:13],rotation=45,color='b',fontsize=14)
plt.yticks(y)
plt.plot(x, y)
plt.show()

Matplotlib绘图第七关--设置坐标轴的刻度xticks、yticks_旋转角度_02

另一种情况就是当x轴每个label太长时,需要增大刻度,减少label

x = ['2021/3/4','2021/2/14','2021/9/4','2021/5/24','2021/3/14','2021/7/4','2021/8/14','2021/1/14']
y = [100,200,300,400,500,600,700,800]
plt.plot(x, y)
plt.show()

Matplotlib绘图第七关--设置坐标轴的刻度xticks、yticks_数组类型_03

x轴太密集,不方便观看

x = ['2021/3/4','2021/2/14','2021/9/4','2021/5/24','2021/3/14','2021/7/4','2021/8/14','2021/1/14']
y = [100,200,300,400,500,600,700,800]
plt.xticks(range(1,len(x),2), ['日期%s'%i for i in x[1:len(x):2]], rotation=45)
plt.plot(x, y)
plt.show()

Matplotlib绘图第七关--设置坐标轴的刻度xticks、yticks_旋转角度_04

这样x轴的刻度减少了一半