计算一系列值的 RGB 值以创建热图

2024-03-03

我正在尝试用 python 创建热图。为此,我必须为可能值范围内的每个值分配一个 RGB 值。我想将颜色从蓝色(最小值)更改为绿色到红色(最大值)。

下面的图片示例解释了我对颜色组合的看法:我们的范围是从 1(纯蓝色)到 3(纯红色),2 介于两者之间,类似于绿色。

我阅读了有关线性插值的内容,并编写了一个函数(或多或少)处理最小值和最大值之间的某个值的计算并返回 RGB 元组。它用if and elif条件(这并不让我完全满意):

def convert_to_rgb(minimum, maximum, value):
    minimum, maximum = float(minimum), float(maximum)    
    halfmax = (minimum + maximum) / 2
    if minimum <= value <= halfmax:
        r = 0
        g = int( 255./(halfmax - minimum) * (value - minimum))
        b = int( 255. + -255./(halfmax - minimum)  * (value - minimum))
        return (r,g,b)    
    elif halfmax < value <= maximum:
        r = int( 255./(maximum - halfmax) * (value - halfmax))
        g = int( 255. + -255./(maximum - halfmax)  * (value - halfmax))
        b = 0
        return (r,g,b)

不过我想知道是否可以为每种颜色值编写一个函数without using if状况。有人有想法吗?万分感谢!


def rgb(minimum, maximum, value):
    minimum, maximum = float(minimum), float(maximum)
    ratio = 2 * (value-minimum) / (maximum - minimum)
    b = int(max(0, 255*(1 - ratio)))
    r = int(max(0, 255*(ratio - 1)))
    g = 255 - b - r
    return r, g, b
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算一系列值的 RGB 值以创建热图 的相关文章

  • 如何在后台运行python程序以保持活动窗口相同

    我编写了一个程序 可以将前景窗口更改为显示器尺寸的 85 并且要成功运行 前景窗口需要保持不变 我已将 python 脚本 pyw 放入批处理文件 运行 pythonw 并在桌面上创建了批处理文件的快捷方式 并提供了快速运行它的快捷方式 我
  • 如何计算总和的平方和?

    我有一笔款项需要加快处理速度 在一种情况下是 S x y k l Fu ku Fv lv Fx kx Fy ly 另一种情况是 S x y S k l Fu ku Fv lv Fx kx Fy ly 2 注意 S indices 是这些索引
  • “初始化 MCI 时出现问题”播放声音问题

    我正在尝试使用 Playsound 播放代码文件夹中的文件 但是每次运行代码时 它似乎都能够调用该文件 但我总是收到以下输出 playsound PlaysoundException Error 277 for command open p
  • 当图例位于轴之外时选择 matplotlib 图例

    当我修改 legend picking py 示例时 我遇到了一个有趣的怪癖 其中图例位于轴之外 如下所示 leg ax legend loc upper left fancybox True shadow True leg ax lege
  • 如何使用scrapy抓取xml url

    你好 我正在使用 scrapy 来抓取 xml url 假设下面是我的 Spider py 代码 class TestSpider BaseSpider name test allowed domains www example com s
  • Twython - 如何使用媒体 url 更新状态

    在我的应用程序中 我允许用户在 Twitter 上发帖 现在我想让他们通过媒体更新他们的状态 In twython py我看到一个方法update status with media从文件系统读取图像并上传到 Twitter 我的图像不在文
  • 如何在 Mac OS X 10.8 上安装 hg Convert 所需的 python subversion 绑定?

    我正在寻找一种解决方案 最好是干净且简单的 以启用hg convert使用 SVN 存储库在 OS X 10 8 上工作 目前 如果您尝试转换 SVN 存储库 您将得到一个could not load Subversion python b
  • Jupyter 笔记本中未显示绘图

    我正在尝试为 Anscombe 数据集创建 2x2 图 加载数据集并分离数据集中的每个类 import seaborn as sns import matplotlib pyplot as plt anscombe sns load dat
  • Keras ImageDataGenerator 相当于 csv 文件

    我在文件夹中排序了一堆数据 如下图所示 我需要构建一个 DataIterator 以便将数据放入神经网络模型中 当数据是图像时 我找到了很多例子来解决这个问题 使用 Keras 类图像数据生成器及其方法流自目录 但当数据是 csv 结构时则
  • 如何编辑 QProgressBar 的样式表

    我无法在我的应用程序中编辑进度条的颜色 仅编辑文本颜色 pyhton 3 9 PySide6 QT Creator 7 0 2 Python应用程序 https i stack imgur com 6hKFI png import sys
  • django REST框架多源领域

    假设我的 models py 中有这些 models py class Theme models Model An theme is an asset of multiple levels adventure models ForeignK
  • 按最小值分组并用另一列中的值填充 NA

    我有一个如下所示的示例数据框 df pd DataFrame data uid 1 1 1 2 2 3 pagename home blah blah home blah blah startpage NA NA NA home home
  • Python range() 和 zip() 对象类型

    我了解功能如何range and zip 可以在 for 循环中使用 然而我期望range 输出一个列表 很像seq在 Unix shell 中 如果我运行以下代码 a range 10 print a 输出是range 10 表明它不是一
  • 如何配置应用程序中的所有记录器

    Python 的日志记录模块允许模块或类定义自己的记录器 不同的记录器可以有不同的处理程序 其中一些可能选择记录到文件 而另一些则选择记录到标准输出 现在 我的应用程序使用其中几个模块 每个模块都有自己的记录器 这些记录器具有各种处理程序
  • Python Pandas DateOffset 使用另一列中的值

    我以为这会很容易 但下面的内容并不适合我想要的 只是尝试通过使用另一列中的值将天数添加到预先存在的日期时间列来计算新的日期列 我下面的 偏移 列只有 1 位数字 df new date df orig date apply lambda x
  • 了解用于处理色边距的scale_fill_continuous_divergingx参数输入

    这个问题是我上一个问题的延续here https stackoverflow com questions 58718527 setting midpoint for continuous diverging color scale on a
  • 预训练 inception v3 模型的层名称(tensorflow)[重复]

    这个问题在这里已经有答案了 任务是获取a的每层输出预训练的 cnn inceptionv3 https www tensorflow org versions master tutorials image recognition index
  • 类型提示:解决循环依赖

    以下产生NameError name Client is not defined 我该如何解决 class Server def register client self client Client pass class Client de
  • 在 python 中使用 ftplib 时

    这是导致错误的相关代码 ftp ftplib FTP server ftp login r user r pass change directories to the incoming folder ftp cwd incoming fil
  • 如何将 c_uint 的 ctypes 数组转换为 numpy 数组

    我有以下 ctypes 数组 data ctypes c uint 100 我想创建一个 numpy 数组np data包含来自 ctypes 数组数据的整数值 ctypes 数组显然稍后会填充值 我看到numpy中有一个ctypes接口

随机推荐

  • 根据变量 Angular 生成动态 CSS

    我正在开发一个用 Angular 4 开发的管理面板 并尝试集成一个部分来自定义样式 例如更改颜色 背景等 我已经开发了一个部分来保存数据库中的设置 并使用 API 将它们作为 json 加载到应用程序中 现在我尝试使用 json 中的值生
  • 在 Django 查询中提供 LIMIT 参数而不获取 QuerySet 的切片

    我的程序中有一个用于搜索实体的实用函数 这需要一个max count范围 它返回一个查询集 我希望这个函数能够限制最大条目数 标准方法是从我的查询集中取出一个切片 return results max count 我的问题是 使用此函数的视
  • 如何更改 MathJax 中的方程颜色

    我使用以下代码片段在我的博客上显示方程 我想将方程颜色更改为白色 因为我的背景有点暗 该怎么办 Do this MathJax Display color FFF important
  • QtSql 应用程序无法在已部署的计算机上运行

    我用 Qt C 做了一个软件 我需要将其部署在Windows 7 64位 上 这也是我开发软件的主机 问题是我的软件可以与开发的机器上的sqlite数据库交互 但是当我尝试在其他机器上部署我的软件时 它无法与那里的数据库交互 我也尝试使用
  • 两个 Spring Boot 项目都带有 @SpringBootApplication

    我有一个数据项目和 UI 项目 这两个项目都是 Spring Boot 应用程序 两个项目都有相同的根包 com myorg 其主类注释为 SpringBootApplication 数据项目的主类是 package com myorg S
  • 协议缓冲区中缺少带有协议的输入文件

    目前 我的 protoc exe 旁边有一个名为 addressbook proto 的文件 我在生成 h 和 cc 文件时遇到困难 这就是我正在做的事情 protoc cpp out c addressbook proto 但是我得到以下
  • Visual Studio 2010 SP1 中的 .ASPX 文件不会启动自动大纲(可折叠部分)

    在 Visual Studio 2010 SP1 中 当我打开 ASPX 文件时 不会启用自动大纲 对于打开的每个文件 我需要单击编辑 大纲 开始自动大纲 这非常烦人 当打开纯代码 非 ASPX 文件时 无需执行此步骤 我使用了一些扩展 全
  • Breeze.js:在没有反向 rel 的情况下将元素添加到导航属性集合会引发异常 [无法获取属性“名称”的值]

    我的 EDM 中有两个实体 Application and Address几乎类似于以下内容 class Application ICollection
  • 如何在 Java 应用程序中显示图像

    我想在我的 Java 应用程序中显示图像 我找到了从网络服务器下载图像并将其显示在 jframe 中的代码 我想使用标签来显示图像或其他内容 不应该是JFrame 这是我的代码 Image image null try URL url ne
  • javafx 图像与 Base64 之间的转换

    我正在尝试将项目数据 图像 参数等 保存在保存文件中 我发现的方法是将所有数据合并到 XML 文件中 因此我决定将图像转换为 Base64 字符串 这里的障碍是我不知道如何从字符串中获取图像 File file new File image
  • 在 32 位保护模式/MSVC 内联汇编中获取 FS:[0] 的线性地址

    我在 Visual C 内联汇编中使用了这条指令 lea eax FS 0 Why did eax得零分吗 我如何获得线性地址FS 0 假设 FS 指向 Windows线程信息块 https en wikipedia org wiki Wi
  • C#:SHDocVw.WebBrowser_V1 在哪个程序集中定义?

    它在几个网站上使用 这些网站似乎都假设读者知道如何才能使用这种类型 但我不知道 示例站点 请参阅第一条评论 http blogs artinsoft net mrojas archive 2008 09 18 newwindow2 even
  • 为什么 jsx 中的三元运算符不起作用

    我有一个反应组件 在其中我想使用三元运算符显示一个子组件 这似乎不起作用 这是我的代码 import React Component from react import HeaderProduct from components heade
  • 如何删除使用 django-ckeditor 上传的图像?

    我已经在 Django 管理界面的 CKEditor 中上传了一些图像 我可以通过单击编辑器中的 图像 按钮来浏览和选择图像 然后在弹出的窗口中单击 浏览服务器 这是弹出窗口的屏幕截图 我的问题是 如何删除服务器上的图像 不幸的是这是真的
  • “Enter-PSSession -Session”,阻止调用进程,直到用户键入“exit”

    我在将 New PSSession 与 Enter PSSession session 结合使用时遇到问题 也就是说 在用户在交互式 PSSession 中键入 exit 之前 无法阻止调用进程 这是一个代码示例 s New PSSessi
  • React-router 不会在不同路径上重新挂载组件

    我的反应应用程序中有一个组件 它是一个表单 该表格用于创建新许可证或编辑现有许可证 无论哪种方式 它都只是一个组件 它会检查 componentDidMount 是哪个 pageType 添加 更新 现在我的问题是 当我使用表单编辑许可证
  • 在 C# 中枚举 Collection 的子集?

    在 C 中是否有一种好方法可以仅枚举 Collection 的子集 也就是说 我有大量对象的集合 例如 1000 个 但我只想枚举元素 250 340 有没有一种好方法可以获取集合子集的枚举器 而无需使用另一个集合 编辑 应该提到这是使用
  • 如何从 Java 7 调用 Kotlin 挂起协程函数

    我正在尝试从 Java 7 调用 Kotlin 函数 我正在使用协程 并且这个被调用的函数正在挂起 例如 suspend fun suspendingFunction Boolean return async longRunningFunc
  • Scala 元组列表到平面列表

    我有元组对列表 List String String 并想将其展平为字符串列表 List String 一些选项可能是 连接 list map t gt t 1 t 2 一个接一个交错 在您发表评论后 您似乎在要求这个 list flatM
  • 计算一系列值的 RGB 值以创建热图

    我正在尝试用 python 创建热图 为此 我必须为可能值范围内的每个值分配一个 RGB 值 我想将颜色从蓝色 最小值 更改为绿色到红色 最大值 下面的图片示例解释了我对颜色组合的看法 我们的范围是从 1 纯蓝色 到 3 纯红色 2 介于两