我通常使用"地震" matplotlib的colorbar。
对于出版需求,我必须使用黑白颜色。我想保持与#34;地震"相同的方面。 (即最高最小值和最大值的最黑暗值),如图所示:
如何进行此转换?
答案 0 :(得分:5)
在我看来,最好的想法是使用灰色渐变而不是发散的颜色条:
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')
您也可以使用gray
,但它只是一个反转版本,并且会为正值提供白色,这对于地震数据来说并不常见。
如果你开始按照自己的意愿行事,我认为最简单的方法就是使用PIL
将图片转换为灰度。
plt.imshow(data, cmap='jet', interpolation='none')
plt.savefig('image.png')
现在将其转换并保存:
from PIL import Image
im = Image.open('image.png')
im = im.convert('L')
im.save('image_grey.png')