黑白colorbar

时间:2015-11-25 17:40:29

标签: python matplotlib colormap

我通常使用"地震" matplotlib的colorbar。

对于出版需求,我必须使用黑白颜色。我想保持与#34;地震"相同的方面。 (即最高最小值和最大值的最黑暗值),如图所示:

enter image description here

如何进行此转换?

1 个答案:

答案 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')

Example of greyscale colourbar

您也可以使用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')