在matplotlib中为imshow定义离散色彩图

在matplotlib中为imshow定义离散色彩图,第1张

在matplotlib中为imshow定义离散色彩图

您可以使用a

ListedColormap
将白色和红色指定为颜色图中的唯一颜色,并且边界确定从一种颜色到另一种颜色的过渡位置:

import matplotlib.pyplot as pltfrom matplotlib import colorsimport numpy as npnp.random.seed(101)zvals = np.random.rand(100, 100) * 10# make a color map of fixed colorscmap = colors.ListedColormap(['white', 'red'])bounds=[0,5,10]norm = colors.BoundaryNorm(bounds, cmap.N)# tell imshow about color map so that only set colors are usedimg = plt.imshow(zvals, interpolation='nearest', origin='lower',         cmap=cmap, norm=norm)# make a color barplt.colorbar(img, cmap=cmap, norm=norm, boundaries=bounds, ticks=[0, 5, 10])plt.savefig('redwhite.png')plt.show()

结果图形只有两种颜色:

我为一个稍有不同的问题提出了相同的建议:Python中的2D网格数据可视化

该解决方案受到matplotlib示例的启发。该示例说明

bounds
必须比使用的颜色数多一。

BoundaryNorm
是,映射到整数,然后将其用于分配的对应颜色的一系列值的归一化。
cmap.N
在上面的示例中,仅定义了颜色数量。



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

原文地址: http://outofmemory.cn/zaji/5649235.html

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

发表评论

登录后才能评论

评论列表(0条)

保存