MENU
カタログクリップ
本ページはプロモーションを含みます。

cmap(colormap)一覧と選び方・使用方法 [matplotlib]

2025 3/04
広告
matplotlib
2025年3月4日

本記事では、matplotlib におけるカラーマップの種類、特徴、選び方、さらには具体的な使用例について詳しく解説します。

目次

カラーマップの一覧

以下に、各カテゴリーごとにカラーマップを紹介します。

Sequential(順次)

値の大小がはっきりと連続しているデータ向け。低い値から高い値へと自然に色が変化するので、単調な増加・減少を示すデータに適しています。

  • Perceptually Uniform 系: ['viridis', 'plasma', 'inferno', 'magma', 'cividis']

これらは人間の視覚特性に配慮して設計されており、低値から高値への変化が均一に感じられるため、近年のデフォルトカラーマップとして採用されています。

  • 伝統的なグレースケール・その他: 'Greys', 'Purples', 'Blues', 'Greens', 'Oranges', 'Reds', 'YlOrBr', 'YlOrRd', 'OrRd', 'PuRd', 'RdPu', 'BuPu', 'GnBu', 'PuBu', 'YlGnBu', 'PuBuGn', 'BuGn', 'YlGn']

単色系のカラーマップは、シンプルなデータや背景とのコントラスト調整に便利です。

  • ['binary', 'gist_yarg', 'gist_gray', 'gray', 'bone', 'pink', 'spring', 'summer', 'autumn', 'winter', 'cool', 'Wistia', 'hot', 'afmhot', 'gist_heat', 'copper']

Diverging(発散)

中央に基準値(例:ゼロ)を持ち、そこから左右に異なる色で表現するもの。プラスとマイナスの差や、中心値からの偏差を示す際に有用です。

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

これらは、中心(通常はゼロや平均値)を境に、左右で対照的な色を持つため、偏差や差分を視覚的に強調するのに適しています。

Qualitative(定性)

カテゴリカルなデータに用いられるカラーマップ。各カテゴリごとに異なる色を割り当て、比較を容易にします。

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

カテゴリカルデータやラベル付きデータの比較に利用され、色の違いによって各グループが識別しやすくなります。

Cyclic(循環)

角度や時間など、循環的なデータ表現に適したカラーマップ。色の始点と終点が連続しているため、ループ構造を直感的に表現できます。

['twilight', 'twilight_shifted', 'hsv']

色の変化が連続して循環する特性を持つため、周期的なデータ(例:角度、時刻)で開始点と終了点のギャップがなくなるように設計されています。

その他

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

カラーマップの使用例と選び方

カラーマップの適用

次に、シンプルなヒートマップに対してカラーマップを適用する例です。

import numpy as np
import matplotlib.pyplot as plt

# ランダムなデータを作成
data = np.random.rand(10, 10)

# ヒートマップの描画('viridis' を使用)
plt.imshow(data, cmap='viridis')
plt.colorbar()
plt.title("Viridis カラーマップを使用したヒートマップ")
plt.show()

この例では、ランダムデータをもとにヒートマップを作成し、viridis カラーマップを適用しています。plt.colorbar() によってカラーバーも表示し、数値と色の対応関係を明確にしています。

  • colormapの範囲指定方法・高度な正規化の方法。 [matplotlib]
  • matplotlib で colormap を反転する2つの方法
  • colorbarを反転する2つの方法 [matplotlib]

選び方のポイント

  • データの性質に合わせる
    順次データの場合は連続的に変化するカラーマップ、発散データの場合は中央を強調する発散カラーマップを選びます。
  • 視認性と解釈のしやすさ
    色の変化が均一で、色覚特性に配慮したカラーマップ(例:viridis)は、視認性が高く、誤解を生みにくいです。
  • 印刷やプレゼンテーションの目的
    印刷や色弱者への配慮が必要な場合、パーセプトロン(perceptually uniform)なカラーマップの使用が推奨されます。

カラーマップの一覧を確認する

以下のコード例では、matplotlib の plt.colormaps() を用いて、利用可能なカラーマップの一覧を表示する方法を示します。

import matplotlib.pyplot as plt

# 利用可能なカラーマップの一覧を取得
cmap_list = plt.colormaps()

# 一覧を表示
print("利用可能なカラーマップ:")
for cmap in cmap_list:
    print(cmap)

このコードを実行すると、matplotlib が提供する全てのカラーマップ名が出力され、用途に合わせた選択が容易になります。

利用可能なカラーマップ:
magma
inferno
plasma
viridis
cividis
twilight
twilight_shifted
turbo
...
  • colormapを取得する方法。 [matplotlib]

カスタムカラーマップの作成

matplotlib では、既存のカラーマップを基にしてカスタムカラーマップを作成することも可能です。たとえば、LinearSegmentedColormap を利用して、自分だけの色のグラデーションを定義する方法があります。

from matplotlib.colors import LinearSegmentedColormap

# カスタムカラーマップの定義
colors = [(0, 'blue'), (0.5, 'white'), (1, 'red')]
custom_cmap = LinearSegmentedColormap.from_list('custom_cmap', colors)

# ヒートマップに適用
plt.imshow(data, cmap=custom_cmap)
plt.colorbar()
plt.title("カスタムカラーマップを使用したヒートマップ")
plt.show()

より詳しくは次の記事を参照してください。

あわせて読みたい
colormapを自作する3つの方法。 [matplotlib] matplotlibでは、データのスカラー値を色に変換するために「colormap」を用います。自作のカラーマップを作成する方法として、大きく分けて次の3つがあります。 from_li…

まとめ

本記事では、matplotlib のカラーマップ一覧について、以下のポイントを解説しました。

  • カラーマップの役割
    数値データを視覚的に表現するためのツールとしての役割。
  • カラーマップのカテゴリー
    Sequential、Diverging、Qualitative、Cyclic の各タイプとその特徴。
  • 具体的な使用例
    利用可能なカラーマップの一覧表示、ヒートマップへの適用方法、さらにはカスタムカラーマップの作成例。

参考

  • https://matplotlib.org/tutorials/colors/colormaps.html
matplotlib

関連記事

  • クイックスタートガイド matplotlibドキュメント日本語訳
    2025年3月4日
  • colormapを取得する方法。 [matplotlib]
    2025年3月4日
  • colormapを自作する3つの方法。 [matplotlib]
    2025年3月4日
  • scatter(散布図)プロットでcolormapを使用する方法。[matplotlib]
    2025年3月4日
  • colormapの範囲指定方法・高度な正規化の方法。 [matplotlib]
    2025年3月4日
  • Colorbarを反転する2つの方法 [matplotlib]
    2025年3月4日
  • matplotlib で colormap を反転する2つの方法
    2025年3月4日
  • 凡例の枠スタイルを高度にカスタマイズする方法。線種・色。[matplotlib]
    2025年3月3日
カテゴリー
  • コンピューター
    • gnuplot & eps
    • mac
    • matplotlib
    • wordpress
  • ホーム・家電
    • アイロン
    • オーディオ
    • オーラルケア
      • ジェットウォッシャー
      • 音波振動歯ブラシ
    • カメラ
    • カー用品
    • クリーナー
    • テレビ、レコーダー
    • ドアホン
    • メンズ美容家電
      • ラムダッシュ
    • ルンバ
    • 一覧比較
    • 工具
    • 浄水器
    • 温水洗浄便座
    • 炊飯器
    • 空気清浄機・加除湿機
    • 空調・季節家電
    • 美容家電
      • フェイスケア
      • ヘアケア
      • ボディーケア
    • 血圧計
    • 調理器具
    • 電子レンジ
  • 健康
  • 家事
    • パン
    • 料理
    • 育児
    • 食品
      • おせち
      • コーヒー
  • 書籍
  • 知識
  • 趣味
    • ペン字
    • ロードバイク・クロスバイク
    • 車
    • 鉄道模型
    • 電子工作
サイト内検索
最近の投稿
  • モナークHGとモナークM7の4つの違い。[ニコン双眼鏡]
  • ニコン モナーク M7とM5の4つの違い。[双眼鏡]
  • Speed Wi-Fi DOCK 5G 01の実機使用レビュー。
  • RZ-760、GT-760、ST-760の違い。[ガス缶・CB缶]
  • RZ-730、RZ-730S、RZ-730SBK、RZ-730SWH、ST-Y450の違い。
  • TC-EA35WとTC-E123SBKの違いを比較。[スティッククリーナー]
  1. ホーム
  2. コンピューター
  3. matplotlib
  4. cmap(colormap)一覧と選び方・使用方法 [matplotlib]
  • ホーム
  • プライバシーポリシー

© カタログクリップ
contact@beiznotes.org

目次