【发布时间】:2022-01-03 10:54:40
【问题描述】:
我正在尝试创建子图:第一个饼图(得到它),第二个条形图(没有成功):
这些是列:
我的代码:
top_series = all_data.head(50).groupby('Top Rated ')['Top Rated '].count()
top_values = top_series.values.tolist()
top_index = ['Top Rated', 'Not Top Rated']
top_colors = ['#27AE60', '#E74C3C']
all_data['Rating_Cat'] = all_data['Rating'].apply(lambda x : 'High' if (x > 10000000 ) else 'Low')
rating_series = all_data.head(50).groupby('Rating_Cat')['Rating_Cat'].count()
rating_values = rating_series.values.tolist()
rating_index = ['High' , 'Low']
rating_colors = ['#F1C40F', '#27AE60']
fig, axs = plt.subplots(1,2, figsize=(16,5))
axs[0].pie(top_values, labels=top_index, autopct='%1.1f%%', shadow=True, startangle=90,
explode=(0.05, 0.05), radius=1.2, colors=top_colors, textprops={'fontsize':12})
all_data['Rating_Cat'].value_counts().plot(kind = 'bar', ax=axs[1])
fig.suptitle('Does "Rating" really affect on Top Sellers ?' , fontsize=17)
我的问题:
如何创建第二个将获得如下输出的图:
轴 X = 1 , 2 , 3 , 4 .... 50 + Top reated / NO(根据当前 col)
y 轴 = 从 0 到 7603388.0 的评分
我确实尝试了很多东西,但我有点迷失在这里......请帮助!
【问题讨论】:
-
我不确定您要做什么,所以我会尝试重申这个问题: - 您有 2 列。
Rating和Top rated。您希望Rating中的每个值都使用基于Top rated的颜色从头到尾绘制? -
@DanielWlazło 是的!但只有前 100 行.. 我怎样才能做到?
-
嗨 OmerB,您介意提供minimal reproducible example吗?