如何在 Matplotlib 中选择颜色图?

How to choose colormaps in Matplotlib?

我正在寻找以白色开头、以红色结尾、介于更多颜色之间的颜色组合选项。在 Matplotlib colormaps 选项中,我搜索了但没有找到。有什么方法可以做到吗?

您可以从白色和 'jet' 的颜色创建自定义颜色图。

这是一个例子:

import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap
from matplotlib.cm import ScalarMappable
import numpy as np

fig, ax = plt.subplots(figsize=(12, 1))
fig.subplots_adjust(bottom=0.4)
cmap_jet = plt.get_cmap('jet')
cmap = LinearSegmentedColormap.from_list('', ['white'] + list(cmap_jet(np.linspace(0, 1, 7))))
plt.colorbar(ScalarMappable(cmap=cmap, norm=plt.Normalize(1, 2.5)), cax=ax,
             orientation='horizontal', ticks=np.arange(1, 2.5001, .3))
plt.show()

要在白色和喷射颜色图的开始之间获得更宽的范围,您可以向 LinearSegmentedColormap 提供一个元组列表:

blue_start = 0.3
color_list = [(0, 'white')] + list( zip(np.linspace(blue_start, 1, 10), cmap_jet(np.linspace(0, 1, 10))))
cmap = LinearSegmentedColormap.from_list('', color_list)