Как составить сюжет для сюжетов во время цикла - PullRequest
0 голосов
/ 18 марта 2020

Как я могу создать один график для этого l oop?

Я хочу создать несколько вспомогательных участков в соответствии с i значениями, взятыми из l oop. Нужно ли создавать новый For/Loop, который идет на каждый участок? Как мне это сделать?. Это мой код:

fig, axes = plt.subplots(nrows=4, ncols=3)
fig.subplots_adjust(hspace=0.5)
fig.suptitle('Main plots')
for i in range(1,13):
  month = [i]
  DF_sub = DF[DF['months'].isin(month)]
  out = pd.cut(DF_sub['new'], bins=[0, 0.25, 0.5, 0.75, 1], include_lowest=True)
  out_norm = out.value_counts(sort=False, normalize=True)
  ax = out_norm.plot.bar(rot=0, color="b", figsize=(6,4))
  plt.title('Subplot -' + str(i))

До сих пор я только что получил последний, но мне не хватает значений prev ios i -s из l oop

enter image description here

1 Ответ

1 голос
/ 18 марта 2020

Вам необходимо передать параметр ax в plot.bar, чтобы указать, на каком из ваших axes, возвращаемых из plt.subplots, должна быть построена гистограмма, то есть:

fig, axes = plt.subplots(nrows=4, ncols=3)
fig.subplots_adjust(hspace=0.5)
fig.suptitle('Main plots')
for i in range(1,13):
    month = [i]
    ax = axes[i - 1]
    DF_sub = DF[DF['months'].isin(month)]
    out = pd.cut(DF_sub['new'], bins=[0, 0.25, 0.5, 0.75, 1], include_lowest=True)
    out_norm = out.value_counts(sort=False, normalize=True)
    out_norm.plot.bar(rot=0, color="b", figsize=(6,4), ax=ax)
    plt.title('Subplot -' + str(i))

Если вы не передадите параметр ax, гистограмма будет автоматически нанесена на текущую активную ось, которая является самой последней созданной, если не указано иное.

...