将值映射到matplotlib中的颜色

将值映射到matplotlib中的颜色,第1张

将值映射到matplotlib中的颜色

matplotlib.colors
您正在寻找的模块。这提供了许多类来从值映射到颜色图值。

import matplotlibimport matplotlib.cm as cmlst = [1.9378076554115014, 1.2084586588892861, 1.2133096565896173, 1.2427632053442292,        1.1809971732733273, 0.91960143581348919, 1.1106310149587162, 1.1106310149587162,        1.1527004351293346, 0.87318084435885079, 1.1666132876686799, 1.1666132876686799]minima = min(lst)maxima = max(lst)norm = matplotlib.colors.Normalize(vmin=minima, vmax=maxima, clip=True)mapper = cm.ScalarMappable(norm=norm, cmap=cm.Greys_r)for v in lst:    print(mapper.to_rgba(v))

一般方法是在数据中找到

minima
maxima
。使用它们创建一个
Normalize
实例(其他规范化类可用,例如对数刻度)。接下来,
ScalarMappable
使用
Normalize
实例和所选的colormap创建一个。然后,您可以
mapper.to_rgba(v)
用来
v
通过标准化的比例将输入值映射到目标颜色。

for v in sorted(lst):    print("%.4f: %.4f" % (v, mapper.to_rgba(v)[0]) )

产生输出:

0.8732: 0.00000.9196: 0.05011.1106: 0.28421.1106: 0.28421.1527: 0.33481.1666: 0.34691.1666: 0.34691.1810: 0.36321.2085: 0.38751.2133: 0.39161.2428: 0.42001.9378: 1.0000

如果需要,

matplotlib.colors

模块文档中有更多信息。



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

原文地址: https://www.outofmemory.cn/zaji/5666846.html

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

发表评论

登录后才能评论

评论列表(0条)

保存