use*_*228 3 python matplotlib colormap
我通常使用matplotlib的"地震"颜色条.
对于出版需求,我必须使用黑白颜色.我想保持与"地震"相同的方面(即最高最小值和最大值的最黑暗值),如图所示:
如何进行此转换?
在我看来,最好的想法是使用灰色渐变而不是发散颜色条:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
data = 2 * np.random.random((100, 100)) - 1
plt.imshow(data, cmap='Greys', interpolation='none')
Run Code Online (Sandbox Code Playgroud)
您也可以使用gray它,但它只是一个反转版本,并且会为正值提供白色,这对于地震数据来说并不常见.
如果你开始做你所要求的,我认为最简单的方法可能是PIL用来将图像转换为灰度.
plt.imshow(data, cmap='jet', interpolation='none')
plt.savefig('image.png')
Run Code Online (Sandbox Code Playgroud)
现在转换并保存:
from PIL import Image
im = Image.open('image.png')
im = im.convert('L')
im.save('image_grey.png')
Run Code Online (Sandbox Code Playgroud)