Функция Python выводит все гистограммы на один график вместо создания разных графиков для каждой итерации. - PullRequest
0 голосов
/ 08 января 2020
list1 = ['PG','UN','HH-RF','MKT-RF']
f, axes = plt.subplots(6, 6, figsize=(20, 20), sharex=True)
for i in (list1):
    sns.distplot(df[i], kde=False, bins=40)

enter image description here

1 Ответ

0 голосов
/ 08 января 2020

Вам не хватает аргумента ax внутри distplot. Прежде всего, вам не нужна сетка 6x6, поскольку у вас есть список из 4 элементов. Вы можете изменить код следующим образом:

list1 = ['PG','UN','HH-RF','MKT-RF']
f, axes = plt.subplots(2, 2, figsize=(20, 20), sharex=True)
ax_list = axes.flatten()
for index, i in enumerate(list1):
    sns.distplot(df[i], kde=False, bins=40, ax=ax_list[index])
    # Showing the x label
    ax_list[index].set_xlabel(i)

Таким образом, каждый df будет отображаться в поле c для указанных участков.

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