Colormaps in Matplotlib

颜色映射(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()
  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值