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

У меня есть подсюжеты, и я пытаюсь установить легенду для каждого подплота:

fig,ax = plt.subplots(2,2,figsize = (20,20))
for el in dict_for_genders['Means']:
    ax[0,0].plot(['Chapter ' + str(x) for x in range(1,7)],dict_for_genders['Means'][el])

for el in dict_for_genders['Count_viewers']:
    ax[0,1].plot(['Chapter ' + str(x) for x in range(1,7)],dict_for_genders['Count_viewers'][el])

for key,value in dict_for_genders['Count fans Star wars'].items():
    ax[1,0].hist(x = key, weights = value)

for key,value in dict_for_genders['Count fans Star Trek'].items():
    ax[1,1].hist(x = key, weights = value)

for each_ax in ax:
    each_ax.legend(['Male','Female'])

У меня ошибка:

Traceback (most recent call last):
  File "C:/ML/DataQuest/DataCleaning/Star wars project/star_wars_project.py", line 244, in <module>
    each_ax.legend(['Male','Female'])
AttributeError: 'numpy.ndarray' object has no attribute 'legend'

Как установить легенду для каждой оси в цикле?

1 Ответ

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

ax - это двумерный массив с формой (2, 2).Следовательно, each_ax - это одномерный массив с формой (2,).Вы должны получить доступ к каждому элементу отдельно.Например:

for row in ax:
    for each_ax in row:
        each_ax.legend(['Male', 'Female'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...