Python 如果axis标签属于列表,则更改其颜色/字体重量

Python 如果axis标签属于列表,则更改其颜色/字体重量,python,matplotlib,label,bar-chart,Python,Matplotlib,Label,Bar Chart,所以我创建了一个包含大量条目的条形图。在y轴上,它仅显示x轴上任何标签/条目的值。总而言之,我得到了很多不同高度的酒吧——这是应该的 现在,一些x轴标签/条目比其他更重要。因此,我创建了一个包含所有重要标签/条目的列表。我现在的想法是,我想更改列表中包含的标签/条目的颜色或字体大小(使其加粗)。但我真的不知道该怎么做 我现在使用的绘图代码是: plt.bar(indexes, values, width, color="#3F5D7D", edgecolor="#111111", align='

所以我创建了一个包含大量条目的条形图。在y轴上,它仅显示x轴上任何标签/条目的值。总而言之,我得到了很多不同高度的酒吧——这是应该的

现在,一些x轴标签/条目比其他更重要。因此,我创建了一个包含所有重要标签/条目的列表。我现在的想法是,我想更改列表中包含的标签/条目的颜色或字体大小(使其加粗)。但我真的不知道该怎么做

我现在使用的绘图代码是:

plt.bar(indexes, values, width, color="#3F5D7D", edgecolor="#111111", align='center')
plt.xticks(indexes, labels, fontsize=10, rotation='vertical')
plt.xlim([-0.5,indexes.size-0.5])
plt.subplots_adjust(left=0.05, bottom=0.20, right=0.95, top=0.95, wspace=0.2, hspace=0.2)
plt.show()
其中
索引
是每个标签/条目的索引,
当然是这些标签/条目的值,在
plt.xticks
中,我只需使用
标签
更改
索引


然后我有一个标签列表,我们称之为
main_labels=['important_label1'、'important_label2'、'important_label3'…]
等等。是的,现在我希望这样,当标签是此
主标签列表的一部分时,它将变为粗体或其他颜色。

您可以在
主标签上循环,找出标签在
标签列表中的位置,并更改相应的标签

import matplotlib.pyplot as plt
indexes = [1,2,3,5,6]
values = [8,6,4,5,3]
width = 0.8
labels = ["cow","ox","pig","dear","bird"]
main_labels = ["ox", "pig", "bird"]


plt.bar(indexes, values, width, color="#3F5D7D", edgecolor="#111111", align='center')
plt.xticks(indexes, labels, fontsize=10, rotation='vertical')
plt.xlim([0.5,max(indexes)+0.5])
plt.subplots_adjust(left=0.05, bottom=0.20, right=0.95, top=0.95, wspace=0.2, hspace=0.2)

ticklabels = [t for t in plt.gca().get_xticklabels()]
for l in main_labels:
    i = labels.index(l)
    ticklabels[i].set_color("red")
    ticklabels[i].set_fontweight("bold")

plt.show()