我正在尝试在熊猫中将线图与水平条形图重叠。
具有这样的数据框
data = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
我可以将图形与条形图重叠,如下所示:
ax = data[['A','B','C']].plot(kind='bar', stacked=True)
data['D'].plot(color='k',ax=ax)
有这个结果
但是当我尝试使用水平条形图时
ax = data['D'].plot(color='k')
data[['A','B','C']].plot(kind='barh', stacked=True, ax=ax)
我有这个结果
如何翻转线图,使其与Barh图一致?
谢谢您的提示!
答案 0 :(得分:1)
您可以按以下方式重设索引和绘图。在这里,我将D
列的值用作x值,并将index
(值的范围)用作y值。通过使用reset_index()
,您可以添加一列索引,从而可以轻松使用y='index'
进行绘图。
import pandas as pd
data = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD')).reset_index()
ax = data.plot(x='D', y='index', color='k', legend=False)
data[['A','B','C']].plot(kind='barh', stacked=True, ax=ax)
输出