matplotlib のカラーマップ(colormap)はデータの値を色で表現します。場合によっては、既存のカラーマップの色の並び順を反転させることで、データの見せ方を調整したいことがあります。この記事では、matplotlib で colormap を反転する方法と、その活用例について解説します。
目次
colormap を反転する目的
カラーマップとは、数値データを視覚的に表現するために色を対応付ける仕組みです。たとえば、viridis
や plasma
、coolwarm
などが標準で用意されており、ヒートマップや散布図、等高線図などさまざまなグラフに利用されます。
データの内容や見せたい印象によっては、カラーマップの順序を反転させることが有用です。たとえば、低い値を暗い色で、高い値を明るい色で示すデフォルト設定の場合、反転させることで逆の印象を与えることができます。これにより、視覚的に異なる側面を強調できるため、データ解析の際に柔軟な表現が可能となります。
反転する方法
matplotlib では、colormap の反転は主に以下の 2 つの方法で実現できます。
カラーマップ名に _r
を追加する
matplotlib では、反転したカラーマップは元の名前に _r
を付加するだけで呼び出すことができます。
たとえば、viridis
の反転版は viridis_r
として利用可能です。
import matplotlib.pyplot as plt
import numpy as np
# ランダムなデータを生成
data = np.random.rand(10, 10)
# viridis の反転版を指定して描画
plt.imshow(data, cmap='viridis_r')
plt.colorbar()
plt.title('viridis の反転カラーマップ')
plt.show()


方法 2: カラーマップオブジェクトの reversed()
メソッドを使用する
matplotlib のカラーマップはオブジェクトとしても扱えるため、reversed()
メソッドを用いて反転することもできます。
import matplotlib.pyplot as plt
import numpy as np
# ランダムなデータを生成
data = np.random.rand(10, 10)
# viridis のカラーマップオブジェクトを取得し、reversed() を使用して反転
cmap = plt.cm.viridis.reversed()
plt.imshow(data, cmap=cmap)
plt.colorbar()
plt.title('viridis の反転カラーマップ (reversed() メソッド)')
plt.show()

どちらの方法も同様の結果を得ることができるため、好みに合わせて使い分けるとよいでしょう。
利用上の注意点
- 視覚効果の調整
カラーマップを反転することで、データの視覚的な印象が大きく変わる場合があります。実際のデータに適用する際は、視認性や意味合いに配慮して選択してください。 - カラーマップの選択
全てのカラーマップが反転後に適切な表現となるとは限りません。特に意味づけが決まっているカラーマップ(例: 温度分布など)では、反転が意図にそぐわない場合もあるため、用途に合わせた選択が重要です。
あわせて読みたい


cmap(colormap)一覧と選び方・使用方法 [matplotlib]
本記事では、matplotlib におけるカラーマップの種類、特徴、選び方、さらには具体的な使用例について詳しく解説します。 カラーマップの一覧 以下に、各カテゴリーごと…
まとめ
matplotlib では、カラーマップの反転は非常にシンプルな操作で実現できます。
- 名前に
_r
を追加する方法 reversed()
メソッドを利用する方法
これらの手法を活用することで、データの見せ方に柔軟性を持たせることができます。