Matplotlib colorbar:如何手动设置间隔?

2023-12-10

我使用以下代码片段创建自定义颜色条:

import pylab as pl
import numpy as np

a = np.array([[0,10000,100000,400000,500000]])
pl.figure(figsize=(9, 1.5))
mycmap = colors.ListedColormap(['yellow','orange','red','darkred'])
img = pl.imshow(a, cmap=mycmap)
pl.gca().set_visible(False)
cax = pl.axes([0.1, 0.2, 0.8, 0.6])
cbar=pl.colorbar(orientation='horizontal', cax=cax,spacing='proportional');
cbar.set_ticks([0,10000,100000,400000,500000])
cbar.set_ticklabels(['0','10000','100000','400000','500000'])

This is giving me a colorbar with regular intervals, although I have specified spacing='proportional': enter image description here

相反,预期的结果是:

0-10000: yellow
10001-100000: orange
100001-400000: red
400001-500000: dark red

我究竟做错了什么?


可以看出,当不将轴变为不可见时,颜色条正确地表示图像中数据的颜色。

enter image description here

如果这不是您想要的,您应该首先确定数据在图像中的表示方式。通常实现此目的的方法是将数据标准化到颜色图范围。这里有一个BoundaryNorm说得通。

import matplotlib.pyplot as plt
import matplotlib.colors
import numpy as np

a = np.array([[0,10000,100000,400000,500000]])
plt.figure(figsize=(4, 2.5))

mycmap = matplotlib.colors.ListedColormap(['yellow','orange','red','darkred'])
norm = matplotlib.colors.BoundaryNorm(a[0], len(a[0])-1)
img = plt.imshow(a, cmap=mycmap, norm=norm)
cax = plt.axes([0.1, 0.1, 0.8, 0.1])
cbar=plt.colorbar(orientation='horizontal', cax=cax,spacing='proportional');

plt.show()

现在,这提供了一个有意义的表示,在颜色范围的边缘带有刻度。

enter image description here

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

Matplotlib colorbar:如何手动设置间隔? 的相关文章

  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • 如何在ipywidget按钮中显示全文?

    我正在创建一个ipywidget带有一些文本的按钮 但按钮中未显示全文 我使用的代码如下 import ipywidgets as widgets from IPython display import display button wid
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • 无法在 Python 3 中导入 cProfile

    我试图将 cProfile 模块导入 Python 3 3 0 但出现以下错误 Traceback most recent call last File
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 有人用过 Dabo 做过中型项目吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们正处于一个新的 ERP 风格的客户端 服务器应用程序的开始阶段 该应用程序是作为 Python 富客户端开发的 我们目前正在评估 Dabo
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我

随机推荐

  • 从角色授权更改为声明授权

    我有一个使用 ASP NET 会员资格构建的 Web 表单应用程序 我成功迁移到身份 我现在想使用Claims授权而不是Roles授权 但是老用户的Role信息已经迁移到了AspNetUserRoles数据库中的表 但AspNetUserC
  • 在服务器上找不到路径错误的一部分

    我想每天运行一个调度程序 所以我创建了一个Windows application并将其存储到服务器上 这在我的本地计算机上工作正常 但我收到路径错误 找不到路径的一部分 C Windows System32 有了这个 我认为可能存在一些与路
  • @Autowired 与 JUnit 测试

    我使用了 JUnit 但有些测试存在一些问题 这些测试在 Spring bean 内有 Autowired 注释 当我引用它们时 Autowired 的 bean 始终为 NULL 这是示例代码 public class Test prot
  • 如何将矩阵的索引映射到一维数组(C++)?

    我有一个 8x8 矩阵 如下所示 char matrix 8 8 另外 我有一个包含 64 个元素的数组 如下所示 char array 64 然后我将矩阵绘制为表格 并用数字填充单元格 每个数字从左到右 从上到下递增 例如 如果我在矩阵中
  • StackOverflow 对标签弹出窗口使用什么类型的动画? [关闭]

    Closed 这个问题是无关 目前不接受答案 有谁知道 Stackoverflow 的标签弹出窗口使用什么类型的 jQuery 动画 我所说的标签弹出窗口是指当您将鼠标悬停在 Stackoveflow 中的标签上时 会出现一个弹出窗口 动画
  • 将列号转换为字母的函数?

    有谁有可以从数字返回列字母的 Excel VBA 函数吗 例如 输入100应该返回CV 此函数返回给定列号的列字母 Function Col Letter lngCol As Long As String Dim vArr vArr Spl
  • Google Sheets:自定义函数中的日期格式

    我在谷歌表格中有以下自定义函数 我尝试在自定义函数中调用内置函数 TEXT 但没有成功 Google表格会提示 未知 功能 TEXT 有解决办法吗 function NextMonth StockTradeDate var DeltaDat
  • 通用应用程序 Windows Phone 方向

    最近 我正在为 Windows Phone 和 Windows Store 开发一个通用应用程序 在该应用程序中 我试图将应用程序的方向修复为横向 但在 Windows Phone 8 1 的基于 WinRT 的应用程序中 我找不到任何方向
  • 如何在 vim cscope 结果窗口中搜索

    当我们使用 cscope 去 vim 中定义一个符号时 结果窗口中可能会显示很多候选符号 我想在窗口内进行搜索以快速找到我需要的内容 但是搜索功能 在结果窗口中似乎不起作用 只有几个键可用 j k gg G等 无论如何可以在 cscope
  • 根据正则表达式匹配对字符串列表进行排序

    我有一个看起来有点像的文本文件 random text random text can be anything blabla A blabla random text random text can be anything blabla D
  • cakephp - 如何处理完整性约束违规错误

    我在这里不知所措 我需要知道如何在违反完整性约束的情况下处理错误消息 意思是我想向用户显示一些有意义的消息 而不是显示错误消息 例如 Error SQLSTATE 23000 Integrity constraint violation 1
  • 在成员函数中测试 this 指针在 C++ 中合法吗?

    我有一个涉及不同类类型的对象的应用程序 对象由指针引用 空指针表示关联的对象不存在 目前调用代码很麻烦 因为每次使用指向对象的指针时 都会测试指针值是否为空 并采取一些适当的操作来判断是否为空 因为在不存在的情况下要采取的默认操作取决于对象
  • 如何在Sed中查找[]内的文本?

    这与已经被问过的问题类似 但是 我正在寻找 Sed 的具体答案 我有类似以下内容的文字 一些示例文本 带有一些额外的文本 foo 我需要只抓取括号内的文本 到目前为止我的尝试都是徒劳的 我可以使用其他工具解析该行 但我似乎无法让 Sed 正
  • -std=c++11 和 -std=gnu++11 有什么区别?

    两者有什么区别 std c 11 and std gnu 11作为 gcc 和 clang 的编译参数 同样的问题与c99 and gnu99 我了解 C 和 C 标准 我感兴趣的是参数的差异 我在某处读到它与某些扩展有关 但我不清楚哪些扩
  • 托管 Flash 不会加载 swf 资源(xml、图像等)

    我首先尝试在我的unix机器上使用gtk2实现swf阅读器 成功了 我可以渲染简单的 swf 文件 现在 我尝试使用 xml 配置向 flash 文件添加配置 添加图像等 失败 无法通过 geturlnotify 这是我的代码 includ
  • 如何给一个命令指定多个名称?

    我有一个命令 bot command pass context True async def hellothere ctx await Bot say Hello format ctx message author 我想复制这个更短的命令
  • 按值获取所有数组键

    假设我有一个这样的数组 Array Start gt Array Item 1 gt Array 0 gt Item 1 1 Item 2 1 gt Array Item 2 1 1 gt x 1 gt Item 3 1 0 gt Item
  • 为什么 Oracle 存在长期问题?

    为什么 Oracle 存在长期问题 如果有人能告诉我在oracle中使用long数据类型有什么问题那就更好了 与存储有关的东西 我在一次采访中被问到这个问题 LONG 已经过时且已被弃用 并已被 CLOB 取代 LONG 有很多限制 并且很
  • 为什么 ggplot 在指定其他颜色时使用默认颜色?

    我试图让 ggplot2 将直方图的一行显示为与其余部分不同的颜色 在这方面我已经成功了 但是 当指定不同的颜色集时 ggplot 将使用默认颜色 我确信我的代码中有错误 但我无法确定它在哪里 数据和代码如下 创建数据 library gg
  • Matplotlib colorbar:如何手动设置间隔?

    我使用以下代码片段创建自定义颜色条 import pylab as pl import numpy as np a np array 0 10000 100000 400000 500000 pl figure figsize 9 1 5