Я пытаюсь нарисовать линейную диаграмму на одном графике данных, сгруппированных по двум категориям: страна и округ. Я должен сделать так, чтобы он хорошо работал с Dash. Сначала я попытался разбить кадры данных на несколько и построить без группировки, но в больших таблицах это становится мучительно медленным, поэтому я сейчас ищу наиболее питонический способ.
Мой набор данных выглядит так:
country price_area amount
0 taiwan taiwan -3.13
1 taiwan taiwan 0.15
62 sumatra CNT1 -2.56
63 sumatra CNT1 -2.47
124 sumatra CNT1 0.07
125 sumatra CNT2 -1.66
186 sumatra CNT3 1.04
187 sumatra CNT3 1.65
После этого ответа Построение графиков сгруппированных данных панд , я смог сделать следующее:
fig = go.Figure()
for name, group in df2.groupby('price_area'):
trace = go.Scatter()
trace.name = name
trace.x = group['date']
fig.add_trace(trace)
Но он добавляет только одну зигзагообразную линию, а не 4, на которую я надеялся. В matplotlib это было бы что-то вроде:
df2.groupby(['date','type']).values()['amount'].unstack().plot(ax=ax)
Я не мог даже создать рабочий сюжет, используя что-то подобное в заговоре.
Пожалуйста и спасибо