Matplotlib 3.3.3:更改单个刻度线的颜色不再有效

Matplotlib 3.3.3: Changing the color of single ticks not working anymore

我升级到 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 相同的代码只改变了刻度的大小,而不是它的颜色。

使用set_markeredgecolor:

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

输出: