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

我在matplotlib中使用imshow显示了一个简单的图像。我想应用自定义颜色图,以便0-5之间的值为白色,5-10之间的值为红色(非常简单的颜色),等等。我尝试按照本教程进行操作:


http://assorted-experience.blogspot.com/2007/07/custom-colormaps.html,其中包含以下代码:


cdict = {

'red'  :  ((0., 0., 0.), (0.5, 0.25, 0.25), (1., 1., 1.)),

'green':  ((0., 1., 1.), (0.7, 0.0, 0.5), (1., 1., 1.)),

'blue' :  ((0., 1., 1.), (0.5, 0.0, 0.0), (1., 1., 1.))

}


my_cmap = mpl.colors.LinearSegmentedColormap('my_colormap', cdict, 3)


plt.imshow(num_stars, extent=(min(x), max(x), min(y), max(y)), cmap=my_cmap)

plt.show()

但这最终显示出奇怪的颜色,我只需要定义3-4种颜色。我该怎么做呢?


莫回无
浏览 870回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python