所以这是我的数据集的样子:
In [1]: df1=pd.DataFrame(np.random.rand(4,2),index=["A","B","C","D"],columns=["I","J"])
In [2]: df2=pd.DataFrame(np.random.rand(4,2),index=["A","B","C","D"],columns=["I","J"])
In [3]: df1
Out[3]:
I J
A 0.675616 0.177597
B 0.675693 0.598682
C 0.631376 0.598966
D 0.229858 0.378817
In [4]: df2
Out[4]:
I J
A 0.939620 0.984616
B 0.314818 0.456252
C 0.630907 0.656341
D 0.020994 0.538303
我希望每个数据帧都有堆积条形图,但由于它们具有相同的索引,我希望每个索引有2个堆叠条形。
我试图在同一轴上绘制两个:
In [5]: ax = df1.plot(kind="bar", stacked=True)
In [5]: ax2 = df2.plot(kind="bar", stacked=True, ax = ax)
但它重叠。
然后我尝试先连接两个数据集:
pd.concat(dict(df1 = df1, df2 = df2),axis = 1).plot(kind="bar", stacked=True)
但这里一切都堆积如山
我最好的尝试是:
pd.concat(dict(df1 = df1, df2 = df2),axis = 0).plot(kind="bar", stacked=True)
这使 :
在此输入图像描述
这基本上是我想要的,除了我想要的酒吧订购
(df1,A)(df2,A)(df1,B)(df2,B)等......
我想有一个技巧,但我找不到它!
在@ bgschiller的回答之后我得到了这个:
在此输入图像描述
这几乎是我想要的。我希望通过索引对条形图进行聚类,以便在视觉上清晰。
额外:x标签不是多余的,如:
df1 df2 df1 df2
_______ _______ ...
A B
谢谢你的帮助。
相关分类