更改matplotlib中特定xticks的颜色

时间:2017-12-12 03:13:01

标签: python matplotlib

我正在寻找一种方法来改变我的情节中特定xtick值的颜色。 例如,我将所有当前的xtick标签都设置为黑色,但是我想将7,11,12,14,18,25,26处的xtick值全部变为红色,而将所有其他xtick标签保留为黑色。 / p>

有可能这样做吗?

1 个答案:

答案 0 :(得分:1)

您可以拉回显示刻度线的line2d对象,并根据其位置更改颜色。您需要过滤滴答线以仅包括显示的滴答(似乎由标记指示)。

ax = plt.gca()
for t, loc in zip(filter(lambda x: x.get_marker()==3, ax.xaxis.get_ticklines()), 
                ax.xaxis.get_ticklocs()):
    if loc in (7,11,12,14,18,25,26):
        print(f'Changing tick line at {loc} to red')
        t.set_color('red')