使用set_xticks方法和set_xticklabels方法即可
1、set_xticks方法
参数说明:
- set_xticks(self, ticks, minor=False)
- 参数1:ticks:指定刻度出现的位置
- 参数2:minor:指定是否是次要刻度
- 返回值1:包含XTick实例的列表
注意:
- minor参数十分的重要,它用来指定次要刻度,所谓次要刻度就是那些没有刻度标签的刻度,他们在图上只有一个短棍,不会拥有标签,所以set_xticklabels方法默认情况下无法为他们添加标签。
- 切记set_xticklabels方法默认情况下能够设置标签的数量是非次要刻度的数量,而不是次要刻度和非次要刻度之和。
- 虽然官方文档中说明ticks参数必须是列表,但是根据实验可知任意一个可迭代序列都可以传递给该参数。
2、set_xticklabels方法
参数说明:
- set_xticklabels(self, labels, fontdict=None, minor=False, **kwargs)
- 参数1:labels:指定刻度名称
- 参数2:fontdict:字典型,指定字体属性
- 参数3:minor:指定是否是次要刻度标签
- 返回值1:包含Text实例的列表
注意:
- 默认情况下minor=False,所以只能设置非次要刻度的标签,我们可以传递minor=True,从而设定次要刻度标签。
- fontdict参数传递一个字典,用于全局设定,但是博主一般的做法是从该方法返回的Text实例进行属性设置,从而做到精确设置属性。
- 仅在使用set_ticks方法固定刻度位置之后,才应使用此方法。否则,标签可能会出现意外的位置。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 2, 0.01)
y = np.sin(x)
fig, ax = plt.subplots(constrained_layout=True)
ax.plot(x, y)
xticks_label = [0,0.5,1.0,1.5,2.0]
xticks1_label = [1.25]
# 设置x刻度(是刻度不是刻度值)
ax.set_xticks(xticks_label) # 删除无意义刻度,设置x主要刻度
# 设置x次要刻度
ax.set_xticks(xticks1_label, minor=True)
# 设置x主要刻度标签
major_xticklabels_list = ax.set_xticklabels(xticks_label, fontdict=dict(fontsize=15))
# 设置x次要刻度标签
minor_xticklabels_list = ax.set_xticklabels(xticks1_label, fontdict=dict(fontsize=15, color='#ff0000'), minor=True)
# ----------------------------------
# 设置刻度标签颜色
xtickcolors_list = ['red', 'blue', 'green', 'purple'] # 初始化x轴刻度标签颜色
for ticklabel, color in zip(major_xticklabels_list, xtickcolors_list):
ticklabel.set_color(color)
plt.show()