如何使用Matplotlib使用以下colormap 选项保存图像?
目前的语法不允许我这样做吗?
plt.imsave('C:/Users/Desktop/Img/image'+'_'+ str(i)+'.png', data)
我想在上面添加:
norm=matplotlib.colors.LogNorm()
cmap=my_cmap
理想情况下我想:
plt.imsave('C:/Users/Desktop/Img/image'+'_'+ str(i)+'.png', data, norm=matplotlib.colors.LogNorm(), cmap=my_cmap)
但这不可能。
的文档答案 0 :(得分:1)
基本上使用LogNorm与获取数据的对数相同。
import matplotlib.pyplot as plt
import numpy as np
data = plt.imread("house.png").mean(axis=2)
logdata = np.log(data)
plt.imsave("logimage.png", logdata, cmap="viridis")
如果某些值为零,则日志图应如何显示可能并不明显。你可以在beforehands之前用nan值替换零(这就是LogNorm会做的)
data[data == 0.] = np.nan
logdata = np.log(data)
或者您可以向数据添加少量数据,因此它们不再为零
logdata = np.log(data+0.02)