如何在matplotlib中使用不同颜色映射在不同图中显示图像?

5 投票
4 回答
38962 浏览
提问于 2025-04-16 21:57

我想在不同的图形中用不同的颜色映射来显示图片。

下面的代码可以在两个不同的窗口中显示同一张图片,但使用的是相同的颜色映射。

   import scipy.misc
   from pylab import *

   a = scipy.misc.imread('lena.jpg')
   figure(1)
   image = mean(a,axis=2)
   imshow(image)
   #if I call show() here then only one window is displayed
   gray() #change the default colormap to gray
   figure(2)
   imshow(image)
   show()

我在想有没有人能帮我一下。

非常感谢!

4 个回答

6

你可以使用 imgplot.set_cmap('gray') 这个命令来设置颜色。想了解更多,可以看看这个很棒的 教程

9

要创建子图,可以使用 subplot 命令(注意哦!)

如果想要改变颜色图,可以使用 imshow 函数里的 cmap 参数。具体可以查看 文档

figure() # You don't need to specify 1
subplot(121) # 121 is a shortcut for 1 line, 2 columns, item number 1
image = mean(a,axis=2)
imshow(image, cmap='gray')
subplot(122) # 1 line, 2 columns, item number 2
imshow(image, cmap='jet')
show()
7

你可以把 cmap 这个参数传给 imshow 函数。想了解更多,可以看看这个链接:http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.imshow

撰写回答