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")
输出:
我升级到 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")
输出: