我有一個簡單的圖像,我在matplotlib中用imshow顯示。我想應用自定義顏色映射,以便0-5之間的值爲白色,5-10爲紅色(非常簡單的顏色)等。我試過按照以下教程:在matplotlib中爲imshow定義離散色彩圖
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種顏色,我想定義。我該怎麼做呢?
類似的問題:http://stackoverflow.com/questions/9451545/using-matplotlib-to-draw-color-bar-with-distinguishable-and-uncontinues-colors/9451776#9451776 – 2012-03-15 17:35:41