python 颜色映射,python – 将值映射到matplotlib中的颜色

matplotlib.colors模块正是您所需要的.这提供了许多类,可以从值映射到colourmap值.

import matplotlib

import matplotlib.cm as cm

lst = [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))

一般方法是在数据中找到最小值和最大值.使用这些来创建Normalize实例(其他规范化类可用,例如对数比例).接下来,使用Normalize实例和您选择的colormap创建ScalarMappable.然后,您可以使用mapper.to_rgba(v)从输入值v(通过标准化比例)映射到目标颜色.

for v in sorted(lst):

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

产生输出:

0.8732: 0.0000

0.9196: 0.0501

1.1106: 0.2842

1.1106: 0.2842

1.1527: 0.3348

1.1666: 0.3469

1.1666: 0.3469

1.1810: 0.3632

1.2085: 0.3875

1.2133: 0.3916

1.2428: 0.4200

1.9378: 1.0000

如果需要,matplotlib.colors module documentation有更多信息.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值