Как создать сгруппированную или сложенную гистограмму, используя три набора данных value_counts () из файла CSV в Python?Я могу успешно построить каждый набор по отдельности, используя этот код:
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')
Это то, что я получаю, что не показывает мне полное распределение стран, где сделан каждый виджет:
Мне бы очень хотелось увидеть сгруппированную гистограмму, на которой эти данные выглядят примерно так: