具有堆叠组件的直方图

2023-11-21

假设我有一个过去 90 天内每天测量的值。我想绘制值的直方图,但我想让查看者轻松查看过去 90 天的某些非重叠子集中测量值的累积情况。我想通过将直方图的每个条“细分”成块来做到这一点。一大块用于最早的观察,一大块用于最近的观察,一大块用于最近的观察。

这听起来像是一份工作df.plot(kind='bar', stacked=True)但我很难弄清楚细节。

这是我到目前为止所拥有的:

import numpy as np
import pandas as pd
import seaborn as sbn

np.random.seed(0)

data = pd.DataFrame({'values': np.random.randn(90)})
data['bin'] = pd.cut(data['values'], 15, labels=False)
forhist = pd.DataFrame({'first70': data[:70].groupby('bin').count()['bin'],
                         'next15': data[70:85].groupby('bin').count()['bin'],
                         'last5': data[85:].groupby('bin').count()['bin']})

forhist.plot(kind='bar', stacked=True)

这给了我:

poor result

该图有一些缺点:

  • 条形图的堆叠顺序错误。last5应该在顶部并且next15在中间。 IE。它们应该按照列的顺序堆叠forhist.
  • 条之间有水平空间
  • x 轴用整数标记,而不是指示 bin 代表的值。我的“第一选择”是将 x 轴标记为与我刚刚运行时完全相同的标记data['values'].hist()。我的“第二选择”是在 x 轴上标上“bin 名称”,如果我这样做的话,我会得到pd.cut(data['values'], 15)。在我的代码中,我使用了labels=False因为如果我不这样做,它就会使用 bin 边缘标签(作为字符串)作为条形标签,并且会将它们按字母顺序排列,从而使图表基本上毫无用处。

解决这个问题的最佳方法是什么?我觉得到目前为止我使用的功能非常笨拙。


好的,这是攻击它的一种方法,使用来自matplotlib hist函数本身:

fig, ax = plt.subplots(1, 1, figsize=(9, 5))
ax.hist([data.ix[low:high, 'values'] for low, high in [(0, 70), (70, 85), (85, 90)]],
         bins=15,
         stacked=True,
         rwidth=1.0,
         label=['first70', 'next15', 'last5'])
ax.legend()

这使:

better

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有堆叠组件的直方图 的相关文章

  • 如何替换Python字符串中的正确字母

    任务是 您的任务是纠正数字化文本中的错误 您只需处理以下错误 S 被误解为 5 O 被误解为 0 I 被误解为 1 我的代码 def correct string for i in string if 5 in string string
  • 如何同时运行多个功能[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下代码 my func1 my func2 my func3 my func4 my func5 是否可以同时计算函数的数据 而
  • Python Requests 库重定向新 url

    我一直在浏览 Python 请求文档 但看不到我想要实现的任何功能 在我的脚本中我设置allow redirects True 我想知道该页面是否已重定向到其他内容 新的 URL 是什么 例如 如果起始 URL 为 www google c
  • Scrapy 文件管道不下载文件

    我的任务是构建一个可以下载所有内容的网络爬虫 pdfs 在给定站点中 Spider 在本地计算机和抓取集线器上运行 由于某种原因 当我运行它时 它只下载一些但不是全部的 pdf 通过查看输出中的项目可以看出这一点JSON 我已经设定MEDI
  • Python 内置对象的 __enter__() 和 __exit__() 在哪里定义?

    我读到每次使用 with 时都会调用该对象的 enter 和 exit 方法 我知道对于用户定义的对象 您可以自己定义这些方法 但我不明白这对于 打开 等内置对象 函数甚至测试用例是如何工作的 这段代码按预期工作 我假设它使用 exit 关
  • 使用 Tkinter 打开网页

    因此 我的应用程序需要能够打开其中的单个网页 并且它必须来自互联网并且未保存 特别是我想使用 Tkinter GUI 工具包 因为它是我最熟悉的工具包 最重要的是 我希望能够在窗口中生成事件 例如单击鼠标 但无需实际使用鼠标 有什么好的方法
  • Python speedtest.net,或等效的[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否有一个 Python 库可以实现 SpeedTest net 测试或等效的互联网连接速度测试 GitHub上有一个项目叫速度检查 https gi
  • 如何找到多个 pandas 数据框中一对列与任意顺序对的交集?

    我有多个 pandas 数据框 为了简单起见 假设我有三个 gt gt df1 col1 col2 id1 A B id2 C D id3 B A id4 E F gt gt df2 col1 col2 id1 B A id2 D C id
  • 在 Python 中从 Excel 复制 YEARFRAC() 函数

    因此 我使用 python 来自动执行一些必须在 Excel 中执行的重复任务 我需要做的计算之一需要使用yearfrac 这在Python中被复制了吗 I found this https lists oasis open org arc
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • multiprocessing.Queue 中的 ctx 参数

    我正在尝试使用 multiprocessing Queue 模块中的队列 实施 https docs python org 3 4 library multiprocessing html exchang objects Between p
  • 将图与热图(可能是对数)配对?

    How to create a pair plot in Python like the following but with heat maps instead of points or instead of a hex bin plot
  • 哪种方式最适合Python工厂注册?

    这是一个关于这些方法中哪一种被认为是最有效的问题 Pythonic 我不是在寻找个人意见 而是在寻找惯用的观点 我的背景不是Python 所以这会对我有帮助 我正在开发一个可扩展的 Python 3 项目 这个想法类似于工厂模式 只不过它是
  • 根据标点符号列表替换数据框中的标点符号[重复]

    这个问题在这里已经有答案了 使用 Canopy 和 Pandas 我有数据框 a 其定义如下 a pd read csv text txt df pd DataFrame a df columns test test txt 是一个单列文件
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • 如何将两列 pandas Dataframe 移动并堆叠为一列?

    我有一个下面提到的数据框 ETHNIC SEX USUBJID 0 HISPANIC OR LATINO F 16 1 HISPANIC OR LATINO M 8 2 HISPANIC OR LATINO Total 24 3 NOT H
  • 检查 IP 地址是否在给定范围内

    我想检查一下是否有IP180 179 77 11位于特定范围之间 例如180 179 0 0 180 179 255 255 我编写了一个函数 它将每个 IP 八位字节与其他八位字节进行比较 def match mask IP min ip
  • ProcessPoolExecutor 传递多个参数

    ESPN播放器免费 class ESPNPlayerFree def init self player id match id match id team 团队名单1 277906 cA2i150s81HI3qbq1fzi za1Oq5CG
  • PyObjC + Python 3.0 问题

    默认情况下 Cocoa Python 应用程序使用默认的 Python 运行时版本 2 5 如何配置我的 Xcode 项目以便它使用较新的 Python 3 0 运行时 我尝试用新版本替换项目中包含的Python framework 但它不
  • Tkinter 将鼠标点击绑定到框架

    我一定错过了一些明显的东西 我的 Tkinter 程序中有两个框架 每个框架在网格布局中都有一堆标签 我想将鼠标点击绑定到其中一个而不是另一个 我目前使用 root bind

随机推荐

  • 使用多核 CPU 与 gensim 训练 Doc2vec 时效率不高

    我使用24核虚拟CPU和100G内存用Gensim训练Doc2Vec 但无论修改核心数量 CPU使用率始终在200 左右 top htop 上面两张图显示了cpu使用率 这表明cpu没有得到有效利用 cores multiprocessin
  • 使用ReferenceQueue和WeakReference

    我想在其他线程不再引用 Closeable 对象时正确关闭它 我写了一些小测试 但在对象入队后 get 方法返回 null 即 poll 方法返回没有引用对象的正确对象 public static void main String args
  • 使用ggplot2在地图上绘制条形图?

    我想使用 ggplot2 为地图上的每个位置生成一个条形图 正如 xingmowang 使用基础图形和一些软件包所做的那样 http nzprimarysectortrade wordpress com 2011 10 02 let r f
  • 谷歌应用程序引擎上有像 pluto 或 jetspeed 这样的 Portlet 容器吗?

    我正在尝试在谷歌应用程序引擎上构建一些 portlet 服务器 作为开源 我想使用 JSR168 286 标准 但我认为以下限制 应用程序引擎将使它介于棘手和不可能之间 有没有人尝试过运行 jetspeed 或内部使用 pluto 的应用程
  • Rails 视图编码问题

    我正在使用 Ruby 2 0 和 Rails 3 2 14 我的视图中散落着几个 UTF 8 字符 主要是货币符号 如 和 等 我注意到一些 ActionView Template Error incompatible character
  • Spring指标中的@Timed注释

    I use TimedString Boot Rest 控制器上的注释 它工作正常 控制器中的方法调用服务中的方法 该方法也用注释 Timed 但是 后续服务 bean 中方法的此注释不起作用 我没有看到结果 metrics 为什么会发生这
  • 没有为此对象定义无参数构造函数。在 ASP.NET MVC 控制器中

    我确信这很简单 但我有点卡在这里 为我的应用程序定义的路由只是默认路由 我定义了以下控制器 namespace Baynes Wedding Web Controllers public class AdminController Cont
  • 当使用 ElementTree.iterparse() 清除树时,内存使用量是否会增加?

    import os import xml etree ElementTree as et for ev el in et iterparse os sys stdin el clear 在 ODP 结构上运行上述内容RDF dump结果总是
  • jQuery 和 TinyMCE:textarea 值未提交

    我在用jQuery and TinyMCE提交表单 但序列化存在问题 因为 Textarea 值未发布 这是代码
  • 如何检测键盘何时显示和隐藏

    如何检测应用程序中何时显示和隐藏键盘 在类的 ViewDidLoad 方法中设置监听有关键盘的消息 Listen for keyboard appearances and disappearances NSNotificationCente
  • Java:如何同步数组访问以及同步条件下的限制是什么

    我有一个 2x2 数组 有两个线程在其上运行 java中可以在数组上使用synchronized语句吗 锁定是如何工作的 java教程线程说synchronized语句适用于对象 所以我不确定它们的意思 另一个网站说我可以发表这样的声明 s
  • 中点公式溢出错误

    我正在学习算法 大o 我只是对此感到好奇 指某东西的用途 mid low high 2 通常不鼓励使用二分查找算法来获取中点 因为可能会出现溢出错误 为什么这会导致发生溢出错误 以及如何处理 mid low high low 2 防止这个错
  • Java中是否可以动态构建多维数组?

    假设我们有 Java 代码 Object arr Array newInstance Array class 5 那会跑吗 进一步说明 如果我们尝试这样的事情会怎样 Object arr1 Array newInstance Array c
  • 包含具有两个不同调用的脚本的原因是什么?

    我使用 HTML5 样板 并且 jQuery 在 HTML 页面中声明了两次 如下所示
  • ListView 中带有 onListItemClick 的可点击区域的宽度

    我正在尝试让 ListView 中的列表项可点击 目前它们是可点击的 参见我的屏幕截图 但它们只能在文本占据的矩形内点击 我在用着protected void onListItemClick ListView l View v int po
  • IE9+和其他浏览器CSS3 ch单位不一致

    IE9 claims支持chCSS单元 根据定义 该单位 等于当前字体的 0 ZERO U 0030 字形的高级度量 或者 更简单地说 0 字形的字符框宽度 这种解释似乎适用于 Firefox 10 和 Chrome 27 div styl
  • 具有 Task.Run 性能的 ASP.NET Web API 2 异步操作方法

    我正在尝试对几个 ASP NET Web API 2 0 端点进行基准测试 使用 Apache bench 其中一种是同步的 一种是异步的 Route user userId feeds HttpGet public IEnumerable
  • 用户在 HTML5 画布应用程序中绘制的平滑锯齿线?

    我们有一个 HTML5 绘图应用程序 用户可以使用铅笔工具绘制线条 与基于 Flash 的绘图应用程序相比 线条边缘略有锯齿 并且显得有些模糊 发生这种情况是因为用户在绘图时需要保持线条完全笔直 或者算法会感知每个像素偏差并将其投影为锯齿状
  • 如何监视 UWP 项目中的文件更改?

    我正在将我的游戏从完整的桌面 net 移植到 UWP 我需要解决的一件事是如何将纹理 着色器等实时加载到游戏的 UWP 版本中 在桌面版本中 我使用 FileSystemWatcher 来执行此操作 但 UWP 中不存在 FileSyste
  • 具有堆叠组件的直方图

    假设我有一个过去 90 天内每天测量的值 我想绘制值的直方图 但我想让查看者轻松查看过去 90 天的某些非重叠子集中测量值的累积情况 我想通过将直方图的每个条 细分 成块来做到这一点 一大块用于最早的观察 一大块用于最近的观察 一大块用于最