Matplotlibでカラーマップ(スカラー値)を反転させる方法
Matplotlibでは、reversed() メソッドを使うことで、カラーマップを簡単に反転させることができます。これにより、色の濃淡が逆になったグラフやカラーバーを作成できます。
ここでは、散布図のカラーマップを反転させて表示する手順を紹介します。
カラーマップを反転させる手順
- 図のサイズを設定し、サブプロット間・周囲の余白(パディング)を調整します。
- NumPyを使って x と y のデータポイントを作成します。
- get_cmap() メソッドで「Blues」のカラーマップを取得します。
- 現在の図にインデックス1の位置へサブプロットを追加します。
- scatter() メソッドで x と y のデータポイントをプロットします。
- スカラーマッピング可能なインスタンス(ScalarMappable)に対してカラーバーを作成します。
- reversed() で反転したカラーマップを指定し、再度 scatter() メソッドでデータポイントをプロットします。
- 両方のサブプロットにタイトルを設定します。
- show() メソッドで図を表示します。
サンプルコード
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.linspace(-2, 2, 10)
y = np.linspace(-2, 2, 10)
color_map = plt.cm.get_cmap('Blues')
plt.subplot(1, 2, 1)
sc = plt.scatter(x, y, c=x, cmap=color_map)
plt.colorbar(sc)
plt.title("Colorbar")
plt.subplot(1, 2, 2)
sc = plt.scatter(x, y, c=x, cmap=color_map.reversed())
plt.colorbar(sc)
plt.title("Reversed Colorbar")
plt.show()実行結果
左側が通常のカラーマップ、右側が反転させたカラーマップです。同じデータでも、色の濃淡が逆になっていることが確認できます。

補足:新しいバージョンでの注意点
Matplotlib 3.7以降では plt.cm.get_cmap() は非推奨となっています。代わりに以下のように記述することを推奨します。
color_map = plt.get_cmap('Blues')
# または
color_map = plt.colormaps['Blues']また、カラーマップ名の末尾に「_r」を付ける方法でも反転できます。例えば 'Blues_r' を指定すると、「Blues」の反転版が使用されます。
-
Pythonでscikit-learnを使って画像のピクセル値を取得・表示する方法
データの前処理とは、さまざまなリソース(または単一のリソース)から収集したすべてのデータを、共通のフォーマットや統一されたデータセットへとまとめる作業を指します。現実世界のデータは決して完璧ではないため、欠損セルやエラー、外れ値、列間の不整合などが含まれている可能性があります。画像の場合も同様に、正しく配置されていなかったり、ぼやけていたり、ファイルサイズが非常に大きかったりすることがあります。前処理の目的は、こうした不整合やエラーを取り除くことにあります。画像のピクセル値を取得するには、組み込み関数「flatten」を使用します。画像を読み込んだ後、ピクセル値はデータフレームの形式で保存され
-
iPhoneで逆画像検索をする方法!Safari・Bing・おすすめアプリまで徹底解説
ある画像がどこから来たのか知りたい、あるいはインターネット上の他の場所で使われていないか確認したいと思ったことはありませんか?そんなときに役立つのが逆画像検索(リバースイメージサーチ)です。パソコンならGoogleの逆画像検索はとても簡単ですが、モバイルデバイスからでも同じことができるのでしょうか。 実は、iPhoneなどのiOSデバイスでも逆画像検索は簡単に行えます。方法はいくつかあるので、この記事では画像の出所を突き止めるための代表的な手法をいくつかご紹介します。 逆画像検索でわかること iPhoneで画像検索を行うと、主に以下のような結果が得られます。 検索した画像が掲載されているウ