使用不同的字符串组绘制多个 plotly 饼图

Plotting multiple plotly pie chart with different string group

我有一个 T 恤订单列表以及相应的尺码,我想将它们绘制在饼图中,以显示每种设计的尺码销量最高的百分比等。

    Design      Total
0   Boba L      9
1   Boba M      4
2   Boba S      2
3   Boba XL     5
4   Burger L    6
5   Burger M    2
6   Burger S    3
7   Burger XL   1
8   Donut L     5
9   Donut M     9
10  Donut S     2
11  Donut XL    5

让我们做 groupby.plot.pie:

(df.Design.str.split(expand=True)
   .assign(Total=df['Total'])
   .groupby(0)
   .plot.pie(x=1,y='Total', autopct='%.1f%%')
)

# format the plots
for design, ax in s.iteritems():
    ax.set_title(design)

输出之一:

你问的不是很清楚,但这是我的解释:

df[['Design', 'Size']] = df['Design'].str.rsplit(n=1, expand=True)

fig, ax = plt.subplots(1, 3, figsize=(10,8))
ax = iter(ax)
for t, g in df.groupby('Design'):
    g.set_index('Size')['Total'].plot.pie(ax=next(ax),  autopct='%.2f', title=f'{t}')


也许你想要:

df = pd.read_clipboard() #create data from above text no modification
dfplot = df.loc[df.groupby(df['Design'].str.rsplit(n=1).str[0])['Total'].idxmax(), :]

ax = dfplot.set_index('Design')['Total'].plot.pie(autopct='%.2f')
ax.set_ylabel('');