python - 将线图与熊猫中的水平条形图重叠
问题描述
我正在尝试将线图与熊猫中的水平条形图重叠。
有这样的数据框
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 图一致=
谢谢你的任何提示!
解决方案
您可以按如下方式重置索引和绘图。在这里,我将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)
输出
推荐阅读
- sharepoint - Sharepoint 休息 api 列表项目角色分配调用中出现意外的 403
- javascript - discord.js 机器人无故重启
- python - Tfa.layers.ESN 示例
- dart - 在 Dart 中测试异常
- ansible - Jinja2 重用 set vars 作为过滤器
- python - 获取总和接近给定数且总和数不超过给定最大值的元素
- python - 第 9 章练习 2 适用于所有人的 Python
- python - 从两个(或更多)列表中创建一个列表,该列表在附加新元素时引用原始列表
- oauth-2.0 - 换码成功后,我应该如何使用谷歌返回给我的 id 令牌?
- sql - 计算两个日期之间每个日期的记录数