我在熊猫数据框中有一个数据集:
dfc
a b c d
0 5.1 3.5 1.4 -0.4
1 4.9 3 1.4 -0.4
2 4.7 3.2 1.3 -0.4
3 4.6 3.1 1.5 -0.4
4 5 3.6 1.4 -0.4
5 5.4 3.9 1.7 -0.8
6 4.6 3.4 1.4 -0.6
7 5 3.4 1.5 0.4
8 4.4 2.9 1.4 0.4
9 4.9 3.1 1.5 0.2
我一直在尝试构建如下图所示的堆积条形图。更为复杂的是,此图表上的列数可能不同(例如,可能有列“ e”和“ f”)。
我一直在尝试建立一个循环以遍历各列并将其应用于图表。
还没有运气。
cumval=0
fig = plt.figure(figsize=(15,6))
for col in dfc.columns[~dfc.columns.isin(['Model',yname])]:
plt.bar(dfc.index.values, dfc[col], bottom=cumval, label=col)
cumval = (cumval+dfc[col])
plt.plot(dfc['Model'],'b-o',label='Model')
plt.plot(dfc[yname],'r-o',label='Acutal')
_ = plt.xticks(rotation=30)
_ = plt.legend(fontsize=8)
有人有什么想法吗?