Pynote

Python、機械学習、画像処理について

matplotlib / seaborn - カラーマップ一覧を整理

概要

matplotlib / seborn で描画する際に使用できるカラーマップを一覧にした。


関連記事

pynote.hatenablog.com

Sequential


Diverging


Qualitative


Miscellaneous


描画に使用したコード

カラーマップ一覧を定義する。

from collections import OrderedDict
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
sns.set()

cmaps = OrderedDict()
cmaps['Sequential'] = [
    'Blues', 'BuGn', 'BuPu', 'GnBu',
    'Greens', 'Greys', 'OrRd', 'Oranges',
    'PuBu', 'PuBuGn', 'PuRd', 'Purples',
    'RdPu', 'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd']

cmaps['Sequential (2)'] = [
    'binary', 'gist_yarg', 'gist_gray', 'gray',
    'bone', 'pink', 'spring', 'summer',
    'autumn', 'winter', 'cool', 'Wistia',
    'hot', 'afmhot', 'gist_heat', 'copper']

cmaps['Diverging'] = [
    'PiYG', 'PRGn', 'BrBG', 'PuOr', 'RdGy', 'RdBu', 'RdYlBu',
    'RdYlGn', 'Spectral', 'coolwarm', 'bwr', 'seismic']

cmaps['Qualitative'] = [
    'Pastel1', 'Pastel2', 'Paired', 'Accent', 'Dark2',
    'Set1', 'Set2', 'Set3', 'tab10', 'tab20', 'tab20b', 'tab20c']

cmaps['Miscellaneous'] = [
    'flag', 'prism', 'ocean', 'gist_earth', 'terrain', 'gist_stern', 'gnuplot',
    'gnuplot2', 'CMRmap', 'cubehelix', 'brg', 'hsv', 'gist_rainbow', 'rainbow',
    'jet', 'nipy_spectral', 'gist_ncar']

データを作成する。

# データを作成する。
mean, cov = [0, 2], [(1, 0.5), (0.5, 1)]
x, y = np.random.multivariate_normal(mean, cov, size=50).T

描画する。

def density_plot(cmaps):
    cols = 4
    rows = np.ceil(len(cmaps) / 4)

    fig = plt.figure(figsize=(10, 2.5 * rows))
    for i, cmap in enumerate(cmaps, 1):
        ax = fig.add_subplot(rows, cols, i)
        sns.kdeplot(x, y, shade=True, ax=ax, cmap=cmap)
        ax.axis('off')
        ax.set_title(cmap)
    plt.show()

density_plot(cmaps['Sequential'])
density_plot(cmaps['Sequential (2)'])
density_plot(cmaps['Diverging'])
density_plot(cmaps['Qualitative'])
density_plot(cmaps['Miscellaneous'])