Python中文
首页
教程
问答
标签
搜索
登录
注册
Matplotlib,水平条形图(barh)颠倒
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p><strong>TL'DR</strong>,垂直条形图以传统方式显示——东西从左到右排列。然而,当它被转换成水平条形图(从<code>bar</code>到<code>barh</code>)时,一切都是颠倒的。一、 例如,对于分组条形图,不仅分组条形图的顺序是错误的,而且每组的顺序也是错误的。</p> <p>例如,来自<a href="http://dwheelerau.com/2014/05/28/pandas-data-analysis-new-zealanders-and-their-sheep/" rel="noreferrer">http://dwheelerau.com/2014/05/28/pandas-data-analysis-new-zealanders-and-their-sheep/</a>的图</p> <p><a href="https://i.stack.imgur.com/6XIQJ.png" rel="noreferrer"><img src="https://i.stack.imgur.com/6XIQJ.png" alt="enter image description here"/></a></p> <p>如果你仔细观察,你会发现这个栏和图例的顺序是相反的——牛肉显示在图例的顶部,但在图表的底部。</p> <p>作为最简单的演示,我将<code>kind='bar',</code>改为<code>kind='barh',</code> 从这个图表 <a href="https://plot.ly/pandas/bar-charts/#pandas-grouped-bar-chart" rel="noreferrer">https://plot.ly/pandas/bar-charts/#pandas-grouped-bar-chart</a> 结果如下: <a href="https://plot.ly/7/~xpt/" rel="noreferrer">https://plot.ly/7/~xpt/</a></p> <p>即,水平分组条形图中的条形图是颠倒排列的。</p> <p>怎么解决?</p> <p><strong>编辑:</strong>@ajan,实际上不仅分组条的顺序不对,每组的顺序也不对。来自<a href="https://stackoverflow.com/questions/20600006/simple-customization-of-matplotlib-pandas-bar-chart-labels-ticks-etc?rq=1">Simple customization of matplotlib/pandas bar chart (labels, ticks, etc.)</a>的图表清楚地显示了这一点:</p> <p><a href="https://i.stack.imgur.com/nUqN3.png" rel="noreferrer"><img src="https://i.stack.imgur.com/nUqN3.png" alt="the order of the each group is wrong"/></a></p> <p>我们可以看到,这个顺序也很不传统,因为人们会期望图表是自上而下的,顶部是“AAA”,而不是底部。</p> <p>如果你搜索“Excel颠倒”,你会发现到处都有人在Excel中抱怨。微软的Excel有一个解决方案,Matplotlib/Panda/Searborn/Ploty/etc有一个解决方案吗?</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我认为解决这个问题最简单的方法是在绘制之前反转pandas数据帧。例如:</p> <pre><code>df = df.iloc[::-1] df.plot.barh(stacked=True); </code></pre> <p>在我看来,这是熊猫巴思功能的一个缺陷。至少用户应该能够传递诸如reverse_order=True等参数</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
将Pandas数据帧转换为PyTorch张量?
8 回答
将Pandas数据帧转换为scipy稀疏矩阵
3 回答
将Pandas数据帧转换为Spark Datafram时出现问题
10 回答
将pandas数据帧转换为spark DataFram时出错
6 回答
将Pandas数据帧转换为spark datafram时收到错误
8 回答
将Pandas数据帧转换为Spark数据帧
6 回答
将Pandas数据帧转换为Tensorflow数据
8 回答
将Pandas数据帧转换为tkinter obj
2 回答
将pandas数据帧转换为XML
9 回答
将Pandas数据帧转换为值sql语句
4 回答
将pandas数据帧转换为元组
5 回答
将pandas数据帧转换为元组列表
5 回答
将pandas数据帧转换为元组列表并删除所有pandas数据类型
10 回答
将pandas数据帧转换为具有头和数据类型的numpy数组
9 回答
将pandas数据帧转换为内存中的拼花地板,并将其加载到Python中的Hadoop中
1 回答
将pandas数据帧转换为内存中类似文件的对象?
2 回答
将Pandas数据帧转换为内存功能(&F)
4 回答
将pandas数据帧转换为列表列表
6 回答
将pandas数据帧转换为列表列表以输入到RNN
8 回答
将Pandas数据帧转换为单行DataFram
4 回答