Я привык рисовать вещи, используя ggplot
в R, и я изо всех сил стараюсь визуализировать данные временных рядов, хранящиеся во вложенном dicts
в Python, используя matplotlib
.В частности, я хотел бы изменить цвет и другие свойства черчения на основе «ключей» диктов в качестве категориальных переменных.
Вот очень простой пример того, как выглядит мой вложенный дикт:
mydict = {'subdict1': {'test_1': {'trial_1': np.array([[np.arange(0.0, 1.0, 0.01)],
[np.sin(2*np.pi*np.arange(0.0, 1.0, 0.01))]]),
'trial_2': np.array([[np.arange(0.0, 1.0, 0.01)],
[np.sin(3*np.pi*np.arange(0.0, 1.0, 0.01))]])},
'test_2': {'trial_1': np.array([[np.arange(0.0, 1.0, 0.01)],
[np.sin(4*np.pi*np.arange(0.0, 1.0, 0.01))]]),
'trial_2': np.array([[np.arange(0.0, 1.0, 0.01)],
[np.sin(5*np.pi*np.arange(0.0, 1.0, 0.01))]])}}}
Я хотел бы легко составить графики массивов, но используя клавишу test_n
, чтобы раскрасить цветили формы линий.Следующий код отображает примеры массивов, но с разным цветом для каждой итерации в цикле for:
fig, ax = plt.subplots(1)
for x in mydict.keys():
for y in mydict[x].keys():
for z in mydict[x][y].keys():
ax.plot(mydict[x][y][z][0][0], mydict[x][y][z][1][0])
Мне известны другие возможности с использованием seaborn
или панд.Тем не менее, мои вложенные dicts
являются сложными и содержат много разных массивов, поэтому я не уверен, было бы хорошей идеей сохранить все данные в формате data_frame
?.
В качестве альтернативы (хотя это может быть другой вопрос?), Я хотел бы знать, каков будет рекомендуемый способ преобразования моего вложенного dict в объект R, чтобы воспользоваться преимуществами функциональности категориального отображения R ggplot .