Как построить несколько гистограмм в одной оси Python - PullRequest
0 голосов
/ 16 февраля 2020

Я хочу вывести гистограмму в следующем стиле:

https://i.imgur.com/XGofb3m.png

Я пытался сделать это двумя разными способами.

1) Наносим на график каждый регион (Европа, Азия и т. Д. c) в качестве отдельной таблицы данных и пытаемся объединить их:

fig = plt.figure()

for frame in [Eudf, Afdf, Asdf, EGdf, LAdf, NAdf]: plt.bar(frame['Rec Status'], frame['Percentage'])

plt.show()

И это выводит:

https://i.imgur.com/xq6Cvgp.png

Где, я полагаю, технически можно добавить легенду и что-то вроде чтения данных, но так как это будет прочитано многими глазами, оно должно быть более четким, как идеальный результат на старте.

2) Сюжет и группировка по регионам

grouped = Alldf.groupby('Region')

ncols=3

nrows = int(np.ceil(grouped.ngroups/ncols))

fig, axes = plt.subplots(nrows=nrows, ncols=ncols, figsize=(12,4), sharey=True)

for (key, ax) in zip(grouped.groups.keys(), axes.flatten()): grouped.get_group(key).plot(ax=ax)

ax.legend()

plt.show()

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

https://i.imgur.com/dQKewax.png

* 105 9 * Итак, попробовав эти два способа, я не могу придумать, что еще можно попробовать.

Может ли кто-нибудь указать мне направление функции / команды, которая позволит мне вывести 1-й график?

Ниже приведен лишь некоторый дополнительный контекст, если он имеет значение:

  • Я использую pandas для манипулирования исходным csv, а затем создаю fre sh dataframe из полученных данных, а затем я пытаюсь построить его с помощью matplotlib.

  • Я использую python 3.7 в PyCharm

Спасибо за помощь

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