如何使用Python中csv文件中的三组value_counts()数据创建分组或堆叠的条形图?我可以使用以下代码分别单独绘制每个集合的图形:
dfwidget1.country.value_counts().plot('bar', color='blue')
但是,我不知道如何将它们全部绘制到同一张图上。显然,我尝试过的方法不起作用:
dfwidget1.country.value_counts().plot('bar', color='blue')
dfwidget2.country.value_counts().plot('bar', color='red')
dfwidget3.country.value_counts().plot('bar', color='yellow')
研究之后,我也尝试使用groupby(),但没有成功。如果那是要走的路,那么我很高兴能按照这些原则进行确认,然后我将继续学习。如果有更简单的方法可以做到,那么我会不知所措。
这是玩具df(另存为widget-by-country.csv):
这是我尝试过的代码:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
sns.set()
df = pd.read_csv('widget-by-country.csv')
dfwidget1 = df[df['category'].str.contains('widget1', na=False)]
dfwidget2 = df[df['category'].str.contains('widget2', na=False)]
dfwidget3 = df[df['category'].str.contains('widget3', na=False)]
dfwidget1.country.value_counts().plot('bar', color='blue')
dfwidget2.country.value_counts().plot('bar', color='red')
dfwidget3.country.value_counts().plot('bar', color='yellow')
这就是我得到的,但没有显示出制作每个小部件的国家的完整分布:
我真的很想查看显示此数据的分组条形图,看起来像这样: