我正在使用matplotlib显示图像并对图像应用一些色彩图。我想你可以用
之类的东西设置默认的色彩映射表plt.set_cmap('jet')
然后每次使用plt.imshow()
但是撤消呢?如果我想在没有任何色彩图的情况下再次显示原始图像?我没有在文档中找到任何关于这一点,也没有通过快速谷歌搜索,所以任何帮助将不胜感激。
谢谢!
答案 0 :(得分:0)
您可以使用set_cmap
设置色彩映射表。这会更改绘制的所有后续数字的颜色图。如果要撤消所做的更改,只需返回matplotlib默认色图,matplotlib 2中的默认色图为viridis
。
但是,cmap
还有一个imshow()
参数,可让您更改应用于单个绘图的色彩映射。这意味着您不必更改全局色彩映射,但 必须在每次调用imshow()
时写入此内容
import numpy as np
import matplotlib.pyplot as plt
data = np.random.randn(25).reshape(5,5)
fig, (ax1, ax2) = plt.subplots(1,2)
ax1.imshow(data)
ax1.set_title("Matplotlib default cmap")
ax2.imshow(data, cmap='jet')
ax2.set_title("jet cmap")
plt.show()
给出了:
答案 1 :(得分:0)
命令plt.set_cmap("jet")
将rcParams中的colormap设置为"jet"
colormap。
为了取回默认的色彩映射,您可以将cmap设置为rcParamsDefault
字典中的默认色彩映射。
import matplotlib.pyplot as plt
print(plt.rcParams["image.cmap"]) # prints viridis
plt.set_cmap("jet")
print(plt.rcParams["image.cmap"]) # prints jet
plt.set_cmap(plt.rcParamsDefault["image.cmap"])
print(plt.rcParams["image.cmap"]) # prints viridis