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 中绘图的轴、刻度和标签的颜色

python Matplotlib;更改刻度定位器

如何更改 matplotlib 图的日期时间刻度标签频率?

如何更改 matplotlib 中轴对象刻度的字体大小 [重复]

使用多个连接的箱线图更改 Matplotlib 中的轴刻度

通过matplotlib中的因子更改绘图比例