pandas 标准化多个饼图的颜色

qnakjoqk  于 2023-04-28  发布在  其他
关注(0)|答案(1)|浏览(118)

我用这个例子来处理一个不同的问题。我实际使用的数据集有大约一百个值,这些值将包含在标签变量中。我试图标准化饼图中使用的颜色,以便在两个图中'Jerry'在两个图中具有相同的颜色段。
最好和最有效的方法是什么?从这个输出中可以看到,饼图的每个部分的颜色都是不同的。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

labels1 = ['John', 'Jerry', 'Sharon']
labels2 = ['Jerry', 'Sharon', 'Shaun']
y1 = [12, 8, 5]
y2 = [10, 5, 10]

# create a figure that contains all the plots that I want 
fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(15, 20))
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95,
                    wspace=0.1, hspace=0.2)
# assigning each subplot to a variable to make it easier to plot 

ax1 = axs[0,0]
ax2 = axs[0,1]

ax1.pie(y1,labels = labels1)
ax2.pie(y2, labels= labels2)

plt.show()
4c8rllxm

4c8rllxm1#

my_colors = {'John': 'blue',
             'Jerry': 'green',
             'Sharon': (0.75, 0.15, 0.55), #RGB way
             'Shaun': 'red'
             }

colors1 = [my_colors[name] for name in labels1]
colors2 = [my_colors[name] for name in labels2]

ax1.pie(y1, labels=labels1, colors=colors1)
ax2.pie(y2, labels=labels2, colors=colors2)

相关问题