У меня есть DataFrame, похожий на это:
amount price
age
A 40929 4066443
B 93904 9611272
C 188349 19360005
D 248438 24335536
E 205622 18888604
F 140173 12580900
G 76243 6751731
H 36859 3418329
I 29304 2758928
J 39768 3201269
K 30350 2867059
Теперь я хотел бы построить планку с возрастом на оси х в качестве меток. Для каждого x-tick должно быть два бара, один балл для суммы и один для цены. Я могу заставить это работать, просто используя:
df.plot(kind='bar')
Проблема заключается в масштабировании. Цены настолько высоки, что я не могу действительно определить сумму на этом графике, см.:
Таким образом, мне нужна вторая ось y. Я попробовал это, используя:
df.loc[:,'amount'].plot(kind='bar')
df.loc[:,'price'].plot(kind='bar',secondary_y=True)
но это просто перезаписывает бары и НЕ размещает их бок о бок. Есть ли способ сделать это, не имея доступа к нижнему уровню matplotlib (что было бы возможно, если вы разместили бары бок о бок вручную)?
В настоящее время я использую два отдельных графика в подзаголовках:
df.plot(kind='bar',grid=True,subplots=True,sharex=True);
в результате: