颜色映射(colormap)是一种将数据值映射到颜色的方式。不同的颜色映射适用于不同类型的数据和可视化需求。以下是每种颜色映射的一些详细解释和示例:
官网:https://matplotlib.org/stable/users/explain/colors/colormaps.html
Perceptually Uniform Sequential
这些颜色映射在视觉上均匀变化,适合显示连续的数据,从低到高变化。
-
viridis: 从深蓝色到浅黄色
-
plasma: 从深紫色到黄色
-
inferno: 从黑色到黄色,经过红色和橙色
-
magma: 从黑色到白色,经过深紫色和红色
-
cividis: 从蓝色到黄色,适合色盲用户
Sequential
这些颜色映射适用于表示数据从低到高的变化。
-
Greys: 从黑色到白色
-
Purples: 从浅紫色到深紫色
-
Blues: 从浅蓝色到深蓝色
-
Greens: 从浅绿色到深绿色
-
Oranges: 从浅橙色到深橙色
-
Reds: 从浅红色到深红色
Diverging
这些颜色映射适用于表示中间值为中心的正负变化。
-
PiYG: 从粉色到绿色
-
PRGn: 从紫色到绿色
-
BrBG: 从棕色到蓝绿色
-
RdBu: 从红色到蓝色
-
RdYlBu: 从红色到黄色再到蓝色
-
RdYlGn: 从红色到黄色再到绿色
-
coolwarm: 从蓝色到红色
Cyclical
这些颜色映射适用于周期性的数据。
-
twilight: 从蓝色到粉色再回到蓝色
-
twilight_shifted: 从蓝色到黄色再回到蓝色
-
hsv: 从红色到绿色再到蓝色
Qualitative
这些颜色映射适用于离散的数据,特别是分类变量。
-
Pastel1: 一组柔和的颜色
-
Pastel2: 另一组柔和的颜色
-
Paired: 配对的颜色
-
Set1: 强烈的颜色
-
Set2: 另一组柔和的颜色
-
Set3: 淡雅的颜色
-
tab10: 十种独特的颜色
Miscellaneous
其他不在上述分类中的颜色映射。
-
flag: 一种类似旗帜颜色的映射
-
prism: 类似于棱镜分光效果
-
ocean: 类似于海洋的颜色
-
gist_earth: 类似于地球表面的颜色
-
terrain: 类似于地形图的颜色
-
gist_stern: 类似于星空的颜色
-
gnuplot: 类似于gnuplot软件的颜色
-
gnuplot2: 另一种类似gnuplot的颜色
-
CMRmap: 一种特殊的颜色映射
-
cubehelix: 适合黑白打印的颜色映射
-
brg: 蓝-红-绿色
-
gist_rainbow: 类似于彩虹的颜色
-
rainbow: 另一种彩虹颜色映射
-
jet: 一种经典的渐变色
-
nipy_spectral: 类似光谱的颜色映射
-
gist_ncar: 类似NCAR软件的颜色
显示所有颜色映射
你可以通过以下代码查看所有颜色映射:
import matplotlib.pyplot as plt
import numpy as np
def plot_colormaps():
colormaps = plt.colormaps()
n_colormaps = len(colormaps)
data = np.linspace(0, 1, 100).reshape(1, 100)
data = np.vstack((data, data))
fig, axes = plt.subplots(nrows=n_colormaps // 5 + 1, ncols=5, figsize=(15, 3 * (n_colormaps // 5 + 1)))
fig.subplots_adjust(left=0.01, right=0.99, top=0.99, bottom=0.01, hspace=0.5, wspace=0.1)
for ax, cmap in zip(axes.flat, colormaps):
ax.imshow(data, aspect='auto', cmap=cmap)
ax.set_title(cmap, fontsize=10)
ax.axis('off')
plt.show()
plot_colormaps()