Matplotlib 3.3.3:更改单个刻度的颜色不再起作用
Posted
技术标签:
【中文标题】Matplotlib 3.3.3:更改单个刻度的颜色不再起作用【英文标题】:Matplotlib 3.3.3: Changing the color of single ticks not working anymore 【发布时间】:2021-04-14 07:16:18 【问题描述】:我升级到 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 相同的代码只会改变刻度的大小,而不是颜色。
【问题讨论】:
【参考方案1】:使用set_markeredgecolor
:
ax.yaxis.get_ticklines()[2].set_markeredgecolor("red")
输出:
【讨论】:
以上是关于Matplotlib 3.3.3:更改单个刻度的颜色不再起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何更改 matplotlib 中绘图的轴、刻度和标签的颜色