Добавление уникальных заголовков в сюжеты в цикле for в matplotlib - PullRequest
0 голосов
/ 15 октября 2019

Я проверил другие ответы на SO, которые не помогли мне решить эту проблему. Я создал субплоты из столбца в pandas df. Я хочу, чтобы у каждого subplot была уникальная дата в конце каждого заголовка, которую я пытался сделать в цикле. Что происходит, так это то, что заголовок появляется только на последнем графике, а другие нет. Почему это так?

area2011 = df_2011.groupby(['Area Id']).size()
area2012 = df_2012.groupby(['Area Id']).size()
area2013 = df_2013.groupby(['Area Id']).size()
area2014 = df_2014.groupby(['Area Id']).size()
area2015 = df_2015.groupby(['Area Id']).size()
area2016 = df_2016.groupby(['Area Id']).size()
area_list = [area2011, area2012, area2013, area2014, area2015, area2016]
fig, axes = plt.subplots(2, 3)
for i in range(2011, 2017):
    for d, ax in zip(area_list, axes.ravel()):
        plt.title(f'Area Id crimes in {i}')
        d.plot.bar(ax=ax, figsize=(15, 7))
        plt.tight_layout()

От первого до последнего subplot Я хочу произвести:

"Area Id crimes in 2011"
   .
   .
   .
"Area Id crimes in 2016"

1 Ответ

1 голос
/ 15 октября 2019

Я думаю, что быстрее опубликовать ответ. Итак, все идет так:

for i in range(2011, 2017):
    for d, ax in zip(area_list, axes.ravel()):
        plt.title(f'Area Id crimes in {i}')
        d.plot.bar(ax=ax, figsize=(15, 7))
        plt.tight_layout()

Внешний цикл for при последнем запуске (i=2016) установит все на f'Area Id crimes in {i}', что составляет 'Area Id crimes in 2016'.

for d, i in zip(area_list, range(6)):
    ax = axes.ravel()[i];
    ax.set_title(f'Area Id crimes in {i+2011}')
    d.plot.bar(ax=ax, figsize=(15, 7))
    plt.tight_layout()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...