使用matplotlib更改图上特定刻度的颜色

Ron*_*Ron 5 python matplotlib

使用matplotlib,是否可以更改轴上特定刻度的颜色?

我有一个简单的图,按天显示一些值,我需要将某些天标记为“特殊”日子,因此我想用不同的颜色标记这些天,但并非所有的刻度都只是特定的。

谢谢

Dav*_*idG 14

您可以使用来获得刻度标签列表ax.get_xticklabels()。这实际上是文本对象的列表。结果,可以set_color()在该列表的元素上使用来更改颜色:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(5,4))
ax.plot([1,2,3])

ax.get_xticklabels()[3].set_color("red")

plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

或者,您可以使用获取当前轴plt.gca()。下面的代码将给出相同的结果

import matplotlib.pyplot as plt

plt.figure(figsize=(5,4))
plt.plot([1, 2, 3])

plt.gca().get_xticklabels()[3].set_color("red")

plt.show()
Run Code Online (Sandbox Code Playgroud)

  • 如果我还想更改数字 0.50 上方小勾号的颜色怎么办? (4认同)