Я пытаюсь составить 2 списка словарей в некоторых субплотах, используя pandas.
Вот фрагмент кода, который производит данные и графики того типа, который я хочу "подплотить":
import random
import pandas as pd
import matplotlib.pyplot as plt
# the two datastructures that I will be plotting from - each contain 5 dictionaries in the end
session_pres = []
session_posts = []
# indexes for contents of above lists
ind = []
#producing sample data
for i in range(1, 6):
ind.append("S{}".format(i))
pres = {}
posts = {}
for j in range(1,8):
posts["{}. choice".format(j)] = random.randint(0,30)
pres["{}. choice".format(j)] = random.randint(0,30)
session_pres.append(pres)
session_posts.append(posts)
# so I build some dataframes, and generate some plots
df_pre = pd.DataFrame(session_pres, index = ind)
ax_pre = df_pre.plot.bar(rot=0)
df_posts = pd.DataFrame(session_posts, index = ind)
ax_posts = df_posts.plot.bar(rot=0)
plt.show()
Все это хорошо работает с данными, которые у меня есть. Но я бы хотел, чтобы эти два сюжета были более тесно связаны. Я представляю два графика, расположенные непосредственно друг над другом в стиле подзаговоров, чтобы было легко сравнивать значения.
Я пробовал (много версий (но, вероятно, много одинаковых)) этого:
df_all = pd.DataFrame({session_pres, session_posts}, index = ind)
ax_all = df_pre.plot.bar(rot=0)
Я переключаюсь между получением большого количества сообщений об ошибках (в этом случае списки кажутся «не подлежащими обработке») и получением некоторых нежелательных участков с графиком для каждой k, v-пары в диктантах в файлах session_pres и session_posts.
Пожалуйста, дайте мне знать, могу ли я предоставить дополнительную информацию, которая облегчит предоставление обратной связи.
Буду признателен за любую помощь или указатели.