はじめに
データの可視化において、カラーマップの選択は極めて重要です。特に最近のトレンドであるダークモードのインターフェースに合わせたカラーマップの需要が高まっています。今回は、Matplotlib 3.10.0で新たに追加された3つのダークモード発散カラーマップについて詳しく解説します。
発散カラーマップとは
発散カラーマップ(Diverging colormap)とは、中央を境に2つの異なる色相が反対方向に変化していくカラーマップです。通常、データの中心値(多くの場合はゼロ)を基準として、正の値と負の値を視覚的に区別することができます。
従来の発散カラーマップでは、中心が明るく(白など)、両端が暗い色になるものが一般的でした。しかし、ダークモードのインターフェースでは、この配色では見づらくなってしまいます。
新しいダークモード発散カラーマップ
Matplotlib 3.10.0で追加された「berlin」、「managua」、「vanimo」は、従来の発散カラーマップとは逆になっています。これらは中心が最も暗く、両端に向かって明るくなるという特徴を持っています。
各カラーマップの特徴
- berlin: 青と赤のコントラストを使用。
- managua: 青とオレンジのコントラストを使用。
- vanimo: 緑と紫のコントラストを使用。
ダークモード発散カラーマップのメリット
これらのカラーマップには以下のようなメリットがあります:
- ダークモードとの親和性: 暗い背景の画面に表示しても見やすい
- 目の疲労軽減: 全体的に明度が抑えられているため、長時間の閲覧でも目に優しい
- データの中心と極値の区別: 中心値(多くの場合はゼロ)が最も暗く表示されるため、極値との区別が明確
- 色覚多様性への配慮: 色覚多様性に配慮して設計されている
実際の使用例
これらのカラーマップは以下のような場面で特に効果的です:
- 温度差や標高差などの相対値の可視化
- 金融データの利益/損失表示
- 科学データ(磁場、電場など)の方向性を持つデータの表示
- ダークモードUIを採用したダッシュボードやアプリケーション内のデータビジュアライゼーション
コード&解説
モジュールのインポート
バージョン
カラーマップの比較

コード解説:
- データ生成部分: np.linspaceを使って-3から3までの範囲に100点のx座標とy座標を生成し、meshgridで2次元グリッドを作成しています。そして、Z = np.sin(X) * np.cos(Y)という式で波形のようなサンプルデータを生成しています。
- プロット設定部分: 1行3列のサブプロットを作成し、figsize=(10, 3)で横長の図を設定しています。
- カラーマップ適用部分: ‘berlin’、’managua’、’vanimo’の3つのカラーマップをリストに格納し、forループで各サブプロットに異なるカラーマップを適用しています。pcolormesh関数でヒートマップを描画し、各プロットにカラーバーを追加しています。
- 最終処理: plt.tight_layout()でプロットの配置を最適化し、”darc_cmap.png”という名前で画像を保存してから表示しています。
まとめ
ダークモード発散カラーマップ「berlin」、「managua」、「vanimo」は、データ可視化の新しい可能性を開くものです。ダークモードのインターフェースが一般的になる中、これらのカラーマップは視認性と美しさを両立させた選択肢を提供してくれます。
データの性質や表示する環境に合わせて、適切なカラーマップを選択することで、より効果的なデータ可視化が可能になるでしょう。
参考
What's new in Matplotlib 3.10.0 (December 13, 2024) — Matplotlib 3.10.6 documentation
コメント