首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >熊猫“堆叠”的条形地块,没有加值给出高度。

熊猫“堆叠”的条形地块,没有加值给出高度。
EN

Stack Overflow用户
提问于 2016-08-04 17:05:53
回答 1查看 567关注 0票数 3

我试图在pandas 0.18.1中显示一个条形图,其中不同列的值显示在彼此之上,但没有添加。因此,我认为这是一个没有添加所有堆栈值的“叠加”的堆叠条形图。

所以在下面的例子中

代码语言:javascript
运行
AI代码解释
复制
import pandas
from pandas import DataFrame

so_example = DataFrame( [(15 , 0 , 0 , 4),(16,  0,  1,  4),(17 , 0 , 0 , 6)]).set_index(0)
so_example.plot.bar(stacked=True)

这给出了Dataframe

代码语言:javascript
运行
AI代码解释
复制
>>> so_example
    1  2  3
0          
15  0  0  4
16  0  1  4
17  0  0  6

我得到了第二个点"16“的最大1 + 4 = 5高度。相反,我希望最大高度为4和绿色显示的"1“,就像现在一样。

我如何做到这一点而不人为地减去。对不起,我不知道这些“堆叠”的情节叫什么,所以我所有的搜索都没有给出一个简单的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2016-08-04 18:44:16

请查看下面的代码,这不是一个全面的解决方案,但基本上实现了你想要的。

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd
import matplotlib.pyplot as plt

so_example = pd.DataFrame( [(15 , 0 , 0 , 4),(16,  0,  1,  4),(17 , 0 , 0 , 6)]).set_index(0)
fig = plt.figure()
ax = fig.add_subplot(111)
_max = so_example.values.max()+1
ax.set_ylim(0, _max)
so_example.ix[:,1].plot(kind='bar', alpha=0.8, ax=ax, color='r')
ax2 = ax.twinx()
ax2.set_ylim(0, _max)
so_example.ix[:,2].plot(kind='bar', alpha=0.8, ax=ax2, color='b')
ax3 = ax.twinx()
ax3.set_ylim(0, _max)
so_example.ix[:,3].plot(kind='bar', alpha=0.8, ax=ax3, color='g')

fig.savefig('c:\haha.png')
fig.show()

,这是我的想法:

  1. 首先,我尝试了和你一样的方法,尝试找到一些plug and play解决方案,但似乎没有。
  2. 然后我试着玩这些价值观,但你清楚地说你不想人为地玩弄这些价值观。我个人认为这真的取决于您如何定义artifical,我的意思是在绘制Dataframe之前为它做一些数据处理不会有那么困难。
  3. 无论如何,这里我们跳到第三种解决方案,即使用axis。因为基本上,您的请求是以堆叠的方式绘制条形图,但使用重叠的。我的意思是,通常情况下,stacked bar意味着将所有东西叠加在一起,没有任何重叠,这就是为什么它被称为stack。但是,由于您希望以最小值位于最前面,第二最小值位于第2位的方式组织该条,因此,依此类推.

因此,在这里,我使用twinx()为每个数据集创建不同的轴层,为了使事情变得更简单,我没有对它们进行排序,只是使用alpha=0.8来更改透明度。我没有在整件事上使用函数。不管怎样,我认为这是一种方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38779638

复制
相关文章
控制台打印图形_前端控制台打印
一、在控制台输出以星号打印的三角形 思路:在外部使用循环语句执行5次每次打印1行,每行的内容分别为空格和星号,每行空格缩进的数量为5减去所在行数,星号的数量是所在行数的2倍减1。在内部使用循环语句首先打印空格,然后打印星号”*”,对应的打印次数用循环次数控制,打印星号之后就可以换行。
全栈程序员站长
2022/11/01
2.6K0
控制台打印图形_前端控制台打印
console控制台打印自定义样式图案
实现是伪实现,还得基于别人的程序把图片转换成字符化以后自己再转换成console展示。以下描述实现方式。
Diuut
2022/11/22
1.6K0
console控制台打印自定义样式图案
ASP.NET Core 控制台日志(Console)打印时间
ASP.NET Core 在 Console 输出日志最开始是没有时间的,曾经在 github 看过有讨论个这个问题:https://github.com/aspnet/Logging/issues/483 最终这个 Feature 在 ASP.NET Core 3.0 中被加入。
晓晨
2021/01/21
1.7K0
容器打印日志到控制台阻塞的排障
今日生产环境发现有些容器停止响应了,但是容器没有死,docker exec -it <container-name> /bin/bash也能正常使用。
颇忒脱
2019/03/13
1.3K0
uniapp 微信小程序 控制台警告和错误处理
微信小程序默认开启了索引功能,但是因为我们没有配置索引策略,导致出现了这么一个警告
很酷的站长
2022/12/30
2.1K0
uniapp 微信小程序 控制台警告和错误处理
Python 日志打印之自定义logger handler
logging.config.dictConfig(config)函数内部调用了DictConfigurator(config).configure(),而configure函数内DictConfigurator部,根据incremental,handlers等当前日志配置,被执行的分支代码中,会调用
授客
2021/01/29
3.5K0
spring boot设置日志打印为控制台输出和文件输出
日志打印 sources里建logback-spring.xml <?xml version="1.0" encoding="UTF-8"?> <configuration>
不吃紫菜
2022/08/18
1.1K0
简单实用log4j实现日志打印到控制台 原
之后在maven项目的main下面的resources下新建一个名为log4j.properties的文件,里面的内容如下所示:
克虏伯
2019/04/15
6.2K0
OpenFeign打印日志
1.日志级别 2.配置 2.1增加config /** * @author dencycheng * @date 2020/11/26 9:59 下午 */ @Configuration pub
DencyCheng
2020/12/01
1.7K0
OpenFeign打印日志
如何打印日志
日志打印对研发来说,是很有必要的, 如何打印好日志,让日志能反映出处理流程,让日志能反映出问题所在,这个很重要,不好的日志,会加大研发排查问题的难度,过多的日志也会对研发造成干扰,如何打印日志,成了研发必须要掌握的技能。
王小明_HIT
2023/08/09
5400
如何打印日志
聊聊日志打印与日志审计
​ 日志对于我们日常排查bug,记录用户执行记录,审计等都是至关重要的。本文将给大家介绍一下博主开发的,在日常工作中会用到的日志切面与日志审计组件。
柏炎
2022/08/23
2.4K0
聊聊日志打印与日志审计
pandas:解决groupby().apply()方法打印两次
对于以下dataframe执行dataframe.groupby(['name', 'course']).apply(lambda x: test(x)) 操作
Bo_hemian
2020/09/09
1.1K0
日志ILog(文件日志/控制台日志/控件日志/网络日志)
日志组件是NewLife系列组件最早最基础,同时也是流血流泪最多的一个模块,它的底蕴定能感动每一个用户!
JusterZhu
2022/12/07
1K0
日志ILog(文件日志/控制台日志/控件日志/网络日志)
[PHP] 自定义错误处理
关闭掉默认的错误提示,注册自己的错误提示 Application.php <?php class Application{ public static function main(){
唯一Chat
2019/09/10
4610
[PHP] 自定义错误处理
tcp工作原理三次握手_tcp三次握手为什么不是两次
SYN同步报文段,尝试和对方建立连接,JavaSocket API中,客户端new Socket内核就会发起这样的SYN请求 SYN这个标志位为1,表示是一个同步报文段 我能听见(ACK),你能听见我吗(SYN) 建立连接的过程,相当于通信双方各自给对方发送SYN,再各自给对方发送ACK中间的ACK和SYN和二为一,于是最后就是“三次握手”
全栈程序员站长
2022/09/27
3690
tcp工作原理三次握手_tcp三次握手为什么不是两次
SpringDataElasticsearch控制台打印查询语句
本文由 小马哥 创作,采用 知识共享署名4.0 国际许可协议进行许可 本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名 最后编辑时间为: 2022/12/15 22:40
IT小马哥
2022/12/16
2.6K0
SpringDataElasticsearch控制台打印查询语句
Ijkplayer打印FFMpeg日志
在打印Ijkplayer播放日志的过程中,在ijkplayer中日志可以正常输出。但是涉及到FFMpeg的日志,则无法输出
None_Ling
2018/10/24
2.5K0
idea打印断点日志
Log: "Breakpoint hit" message(日志 "断点命中"消息)
阿超
2022/08/21
1.6K0
idea打印断点日志
tcp握手为什么是三次不是两次_tcp的三次握手
大家好,又见面了,我是你们的朋友全栈君。 参考文章 Why do we need a 3-way handshake? Why not just 2-way 大部分网络博客的错误解读 首先需要
全栈程序员站长
2022/11/10
2970
tcp握手为什么是三次不是两次_tcp的三次握手
点击加载更多

相似问题

错误处理程序不显示自定义错误日志

138

React:在调用useEffect之前,会打印两次控制台日志

12

dwr日志错误处理程序

10

不打印控制台日志

30

Rails控制台日志-如何自定义控制台中打印的内容

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文