根据条件更改 matplotlib 刻度标签的颜色

Dan*_*ima 5 python matplotlib

如何根据给定条件更改 yticklabels 的颜色?

我正在寻找类似于此图表(用Excel制作)的东西,其中负值用红色表示,正值用黑色表示。

在此输入图像描述

示例代码:

import matplotlib.pyplot as plt
import numpy as np

plt.plot(np.random.random(35)-0.5)
Run Code Online (Sandbox Code Playgroud)

Lir*_*ris 5

您可以使用此示例,并根据您想要执行的操作更改条件:

import matplotlib.pyplot as plt
import numpy as np

plt.figure()
ax = plt.gca()

plt.plot(np.random.random(35)-0.5)
labels = ax.get_yticklabels()
ticks = ax.get_yticks()
for label, tick in zip(labels, ticks):
  if tick < 0:
    label.set_color('r')

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

在此输入图像描述

  • 我还对您的答案进行了编辑,更改了 for 循环。 (2认同)