Python 如何将酒吧的颜色链接到yticks?

Python 如何将酒吧的颜色链接到yticks?,python,matplotlib,charts,colors,bar-chart,Python,Matplotlib,Charts,Colors,Bar Chart,我的数据如下: 我想为每一年做一个条形图,分类,每个人用一种颜色。 我刚得到固定的颜色,像这样: 我使用了以下代码: color = ['red','blue','green','orange'] for i in range (2007, 2010): fig, ax = plt.subplots() x = df2.loc[i,].sort_values() y = [x.index[0], x.index[1], x.index[2], x.index[3]]

我的数据如下:

我想为每一年做一个条形图,分类,每个人用一种颜色。 我刚得到固定的颜色,像这样:

我使用了以下代码:

color = ['red','blue','green','orange']  
for i in range (2007, 2010):
   fig, ax = plt.subplots()
   x = df2.loc[i,].sort_values()
   y = [x.index[0], x.index[1], x.index[2], x.index[3]]
   ax.barh(y,x, color=color)
   plt.title(i)

如何将颜色链接到名称?

您可以创建一个将名称链接到颜色的词典,然后在打印时使用该信息

fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 6))

color = ['red','blue','green','orange']  
colors_dict = {k:v for k,v in zip(df2.columns, color)}

for i, ax in zip(range(2007, 2011), axes.flatten()):
    x = df2.loc[i,].sort_values()
    color = [colors_dict[i] for i in x.index]
    ax.barh(x.index, x, color=color)
    ax.set_title(i)
plt.tight_layout()