2

我升级到 matplotlib 3.3.3 并且在绘图时我无法再更改单个刻度的颜色。

使用 matplotlib 3.2.1 以下代码

import matplotlib.pyplot as plt 

plt.ylim(0,3)

ax = plt.gca() 

y_label_positions = [0,1,2,3]
y_label_strings = ["0", "1", "2", "3"]

ax.set_yticks(y_label_positions)
ax.set_yticklabels(y_label_strings)

ax.yaxis.get_ticklines()[2].set_markeredgewidth(5)
ax.yaxis.get_ticklines()[2].set_color("red")

plt.savefig("foo.pdf")

工作正常并改变刻度的大小和颜色,

但与 Matplotlib 3.3.3 相同的代码只会改变刻度的大小,而不是颜色。

4

1 回答 1

2

使用set_markeredgecolor

ax.yaxis.get_ticklines()[2].set_markeredgecolor("red")

输出:

在此处输入图像描述

于 2021-01-08T15:15:53.170 回答