我无法为从一个饼图到另一个饼图的每个标签保持相同的颜色。如下图所示,Matplotlib 反转了第二个饼图中的颜色。我希望“Frogs”标签保持红色,“Hogs”标签保持绿色。
我也尝试添加label
参数,但它只是给出了错误的计数。我还尝试反转第二张图表中的颜色colors=colors[::-1]
它有效,但不可持续,因为有时我有两个以上的标签。
这是代码:
sizes1 = ['Frogs', 'Hogs', 'Frogs', 'Frogs']
sizes2 = ['Hogs', 'Hogs', 'Hogs', 'Frogs', 'Frogs']
colors=['red', 'green']
df1 = pd.DataFrame(data=sizes1, columns=['a'])
df2 = pd.DataFrame(data=sizes2, columns=['a'])
fig, ax = plt.subplots(1, 2, figsize=(18,5))
df1['a'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%',ax=ax[0],shadow=True, colors=colors)
df2['a'].value_counts().plot.pie(explode=[0,0.1],autopct='%1.1f%%',ax=ax[1],shadow=True, colors=colors)