Как создать двойную или сложенную гистограмму с помощью Matplotlib - PullRequest
0 голосов
/ 20 мая 2019

Как создать сгруппированную или сложенную гистограмму, используя три набора данных 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):

Toy DataFrame

Вот код, который я пробовал:

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') 

Это то, что я получаю, что не показывает мне полное распределение стран, где сделан каждый виджет:

enter image description here

Мне бы очень хотелось увидеть сгруппированную гистограмму, на которой эти данные выглядят примерно так:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...