python - 黑白颜色条

标签 python matplotlib colormap

我通常使用 matplotlib 的“地震”颜色条。

为了出版需要,我不得不使用黑白两色。我想保持与“地震”相同的方面(即,最高最小值和最大值的最黑值),如图所示:

enter image description here

我如何进行这种转换?

最佳答案

在我看来,最好的想法是使用灰色渐变而不是发散的颜色条:

import numpy as np
import matplotlib.pyplot as plt

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

关于python - 黑白颜色条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33923093/

相关文章:

python - copy.deepcopy 与 pickle

python - 如何动态地将css应用到django include

python - csv2rec 和 polyfit 的问题

python - 在wxPython中嵌入matplotlib FuncAnimation : Unwanted figure pop-up

python - Matplotlib 弃用警告 : The is_first_col function was deprecated in Matplotlib 3. 4 将在两个次要版本后删除

python - 使用连续标准化颜色图填充函数下的区域

python - 如何在 python matplotlib colormap 中增加颜色分辨率

Python BeautifulSoup 使用标签外的文本并将其存储为变量

python - 如何在 django 中链接两个表?

具有特定值颜色图的 Python imshow