如何使用matplotlib将RGB颜色值分配给网格网格

如何使用matplotlib将RGB颜色值分配给网格网格,第1张

概述请考虑这个简化的代码段:import numpy as np x = np.arange(3) y = np.arange(2) X, Y = np.meshgrid(x,y) 我想将已准备好的颜色值分配给每个网格单元格.我为每个RGB通道设置了与XY网格相同形状的颜色值作为标准化RGB值 - 因此它是3个numpy数组,每个数组包含0到1个浮点数,表示

请考虑这个简化的代码段:

import numpy as npx = np.arange(3)y = np.arange(2)X,Y = np.meshgrID(x,y)@H_403_8@

我想将已准备好的颜色值分配给每个网格单元格.@H_403_10@我为每个RGB通道设置了与XY网格相同形状的颜色值作为标准化RGB值 – 因此它是3个numpy数组,每个数组包含0到1个浮点数,表示通道值

我首先尝试使用matplotlib.pyplot.pcolor,因为它似乎是我想要的精确工具,但我无法理解颜色映射是如何完成的.

看起来颜色数组(文档中的C)是在默认(或手动分配)色彩映射上映射的,但是我无法获得此颜色数组中值的逻辑及其作用.@H_403_10@如果值从网格单元格值映射到默认(或指定)色彩映射,那么C颜色数组的目的是什么?@H_403_10@我为上面的例子手工制作了这个C数组(2×1 numpy数组),但不管它是什么值,我都得到相同的颜色,这些颜色似乎只依赖于网格单元格而不是这个C数组中的值.

所以我在这里很困惑并寻求帮助,这不一定需要解释这个pcolor函数,但也许是用matplotlib为网格网格指定颜色值的正确方法是什么

最佳答案你想要imshow而不是pcolor. (虽然你可以使用pcolor或pcolormesh.)

import numpy as npimport matplotlib.pyplot as plt# Make some random data to represent your r,g,b bands.ny,nx = 2,3r,b = [np.random.random(ny*nx).reshape((ny,nx)) for _ in range(3)]c = np.dstack([r,b])plt.imshow(c,interpolation='nearest')plt.show()@H_403_8@          总结       

以上是内存溢出为你收集整理的如何使用matplotlib将RGB颜色值分配给网格网格全部内容,希望文章能够帮你解决如何使用matplotlib将RGB颜色值分配给网格网格所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1205765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存