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

5

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

我正在寻找类似于这个在Excel中制作的图表,其中负值为红色,正值为黑色。

enter image description here

示例代码:

import matplotlib.pyplot as plt
import numpy as np

plt.plot(np.random.random(35)-0.5)
1个回答

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()

enter image description here


2
我还修改了你的答案,更改了for循环。 - Daniel Lima

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接