具有二进制颜色编码和原始输入注释的 Seaborn 热图

2023-11-30

enter image description here

我需要根据数据帧列中的值是高于还是低于阈值,将它们显示为二进制颜色图。我还需要显示原始数字。

我正在使用seaborn 热图。

样本数据框

Month  Raw_value
Jan     3.72
feb     2.51
Mar     1.82
...

我已将该列转换为二进制,然后仅保留索引和二进制列并从数据框中删除其他列,然后绘制为二进制。但这无助于显示实际数字(见图)。

kpi2['status'] = np.where(kpi2['raw_value'] > thres, 1,0) # convert to binary
kpi2 = kpi2.set_index('month')
kpi2.drop(['raw_value'], axis=1, inplace=True) # drop other columns
kpi_transposed = kpi2.transpose() # convert column to row for plotting horizontally
rdgn = sns.diverging_palette(h_neg=130, h_pos=10, s=99, l=55, sep=3, as_cmap=True)
sns.heatmap(kpi_transposed, linecolor='white', linewidths=1.3,vmin=0, vmax=1, cmap=rdgn, cbar=False)
plt.show()

但如果我使用原始数据列,我不确定如何将其着色为二进制。

任何想法?


而不是掉落raw_value. transpose两列,然后在调用热图时使用loc选择status作为数据和传递raw_value to annot of sns.heatmap:

import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt

kpi2 = pd.DataFrame({'month': ['Jan', 'Feb', 'Mar'],
                     'raw_value': [3.72, 2.51, 1.82]})

thres = 3
kpi2['status'] = np.where(kpi2['raw_value'] > thres, 1, 0)
kpi2 = kpi2.set_index('month')

kpi_transposed = kpi2.transpose()

rdgn = sns.diverging_palette(h_neg=130, h_pos=10, s=99, l=55, sep=3,
                             as_cmap=True)

ax = sns.heatmap(
    kpi_transposed.loc[['status']],  # Select Status Column
    annot=kpi_transposed.loc[['raw_value']],  # Select raw_values for annot
    fmt='.2f',  # Specify Annotation Format
    linecolor='white', linewidths=1.3, vmin=0, vmax=1,
    cmap=rdgn, cbar=False
)

# Add Percent Sign
for t in ax.texts:
    t.set_text(t.get_text() + "%")
plt.show()

plot with annotations

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

具有二进制颜色编码和原始输入注释的 Seaborn 热图 的相关文章

  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • Flask 和 uWSGI - 无法加载应用程序 0 (mountpoint='')(找不到可调用或导入错误)

    当我尝试使用 uWSGI 启动 Flask 时 出现以下错误 我是这样开始的 gt cd gt root localhost uwsgi socket 127 0 0 1 6000 file path to folder run py ca
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9

随机推荐

  • 我可以将 R8G8B8A8 放入 UBO 中,并将其用作 vec4 吗?

    我尝试优化工作计算着色器 它的目的是创建一个图像 找到合适的颜色 使用一个小调色板 然后调用imageStore image ivec2 vec4 颜色在 UniformBuffer 的 uint 数组中进行索引 该 UBO 中的一种颜色封
  • 通过访问路由名称参数来自动化委托权限并检查用户的权限

    我已经为 ACL 层实现了委托角色 现在 我计划自动对每个请求进行权限检查 这样每次我就不必为用户角色编写权限 例如 我有公司资源 用户角色为 管理员 他只能查看公司 另一个用户角色为 超级 可以管理公司 在数据库中 我为他们提供了适当的权
  • Android操作栏自定义图标

    I want to create Action Bar like this 我在开发指南中看到操作栏图标应该具有特定的大小 是否可以 是否可以在操作栏中添加没有可点击指示的项目 我理解您对操作栏图标大小的担忧 我也有同样的担忧 直到我发现这
  • 如何将 ezComponents 与 magento 集成

    在 本机 Zend Framework 应用程序中 我将通过将 ezComponents 的自动加载器添加到 Zends 自动加载器来启用 ezComponents autoLoader Zend Loader Autoloader get
  • 刷新node.js脚本!

    我正在从终端 mac 运行带有 node js 的脚本 当我更改脚本时 我希望能够重新运行它 而不必关闭并重新打开终端 我是 mac 新手 不知道如何执行此操作 Thanks How are you starting Node You sh
  • Python 多重处理和序列化数据

    我正在学校计算机上运行脚本multiprocessing模块 我经常序列化数据 可以用下面的代码来概括 import multiprocessing as mp import time pickle def simulation j dat
  • hibernate和mappedBy:是否可以自动设置外键而不设置对象之间的双向关系?

    Welcome 我有两门课 对话和问题 一场对话有很多问题 对话 java package com jcg jpa mappedBy import java io Serializable import java util ArrayLis
  • 将文档末尾的元素放置在页面顶部

    我有一个div就在之前文档的标签 在文档结束之前 我想使用 CSS 或 JavaScript 在页面顶部显示这个 div 我知道关于position absolute 问题是 如果我使用它 div 将显示在位于顶部的其他内容之上 而不是显示
  • Power Bi Desktop - 如何在表之间添加值?

    我正在尝试创建一个列 该列的总值介于 3 个表中的 3 列之间 我该怎么做呢 这两个表是共享一个 id 的值表 并且它们都通过 Id 链接到帐户表 目标是将 3 列相加 并将其放入按 Id 分组的表中 我尝试对它们进行求和 尝试使用 USE
  • 包含用户名数据的 AutoCompleteCustomSource 不起作用

    我正在尝试创建一个具有自动完成功能的文本框 在我的表单的构造函数中 我从数据库获取数据并设置文本框AutoCompleteCustomSource属性到用户名数组 由于某种原因 自动完成功能不起作用 我确信没有任何问题db getUsers
  • C++ 中指针的地址交换

    如何在具有签名的函数内交换指针地址 比方说 int weight height void swap int a int b 因此 在退出该函数之后 实际参数的地址 weight and height 将被改变 有可能吗 如果要交换指针指向的
  • 为什么不使用 MD5 进行密码哈希处理?

    我有一个朋友 他是白帽黑客 他说 md5 并没有那么糟糕 而且实际上非常安全 只要我们正确使用它 我相信他是对的 据我所知 有3种方法可以破解哈希值 使用彩虹表 可以通过长 随机盐来保护 碰撞 可以通过多种盐或哈希来防止 如下例所示 生成时
  • 使用cmake为vs2013配置cuda项目并得到“无效设备功能”错误

    我使用cmake gui工具在vs2013中配置我的cuda项目 CMakeLists txt如下 project CUDA PART required cmake version cmake minimum required VERSIO
  • 为什么我会收到带有受保护静态成员的 C2248(无法访问的成员)?

    假设我有 include
  • 使 JFormattedTextField 的行为类似于 ATM 输入

    我想知道是否有办法使 JformattedTextField 或 jtextField 表现得像 atm 货币输入 我的意思是你从右到左输入 假设你输入 10 你需要再按 2 个 0 这样它就会是 10 00 当他从右向左打字时 程序会自动
  • 使用 Firebase 的 WebRTC 语音聊天

    我以前从未尝试过 webrtc 我有一个使用 Firebase 制作的应用程序 现在我正在尝试在其中添加语音通话功能 因此尝试搜索一些教程 大多数都使用 PubNub 或大多数教程基于网络应用程序 我看到了这个 stackoverflow
  • 当 fps 高于 15 时,Pygame 蛇速度太高

    在我用 pygame 制作的蛇游戏中 我很难弄清楚速度的物理原理 问题是 一旦我将 fps 设置为高于 15 蛇的速度也会增加 我知道这与毫秒等有关 我发现它可以工作 高帧率但速度慢 然而那时 我无法让 X 和 Y 正确 这样我就可以吃苹果
  • 尽管设置了 Djava.library.path 变量,仍出现 UnsatisfiedLinkError

    我正在尝试将 IBM 的 CPLEX 库与我的 java 应用程序集成 现在 我只是尝试创建一个 IloCplex 对象 我添加了 Cplex jar 它编译得很好 但是当我运行它时 public class cplexTest publi
  • 在Java中,我可以定义二进制格式的整数常量吗?

    与如何用十六进制或八进制定义整数常量类似 我可以用二进制来定义吗 在 Java 7 中 int i 0b10101010 旧版本的 Java 中没有二进制文字 请参阅其他答案以获取替代方案
  • 具有二进制颜色编码和原始输入注释的 Seaborn 热图

    我需要根据数据帧列中的值是高于还是低于阈值 将它们显示为二进制颜色图 我还需要显示原始数字 我正在使用seaborn 热图 样本数据框 Month Raw value Jan 3 72 feb 2 51 Mar 1 82 我已将该列转换为二