Перебирая словарь списков для составления сюжетов - PullRequest
0 голосов
/ 10 марта 2019

Я пытаюсь использовать matplotlib для построения 10 графиков. Я создал рисунок, используя следующий код:

fig, ax = plt.subplots(5, 2, figsize=(11,11))

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

for key, value in breed_dict.items():
    ax = value.plot(1, 1, kind='bar')

Я знаю, что это не близко, но я полностью застрял.

Спасибо.

1 Ответ

0 голосов
/ 10 марта 2019

Пусть словарь будет dictOfDF

dictOfDF = { 1:df1 , 2:df2 , ... , 10:df10}

Выполните итерацию по участкам следующим образом:

for i in range(5):
    for j in range(2):
        subplot = ax[i,j]

Чтобы получить доступ к каждому человеку DataFrame, просто выполните итерации по key из dictOfDF

Теперь получите доступ к каждому индексу в dfAtKey и нанесите его на subplot

for ind in dfAtKey.index:
    subplot.bar( dfAtKey.loc[ind,0] , dfAtKey.loc[ind,1] , width = 0.5 )

Итак, ваш код должен выглядеть примерно так:

fig = plt.figure()
fig, ax = plt.subplots(5, 2, figsize=(11,11))    

dictOfDF = { 1:df1 , 2:df2 , ... , 10:df10 }

key = 1
for i in range(5):
    for j in range(2):
        subplot = ax[i,j]

        dfAtKey = dictOfDF[key]

        for ind in dfAtKey.index:
            subplot.bar( dfAtkey.loc[ind,0] , dfAtKey.loc[ind,1] , width = 0.5 )

        key += 1

Надеюсь, это поможет

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