[matplotlib] 111. マウススクロールイベントで画像のcmapを選択

matplotlib

はじめに

matplotlibのscroll_eventでimshowで表示した画像のcmapを変更する方法について説明する。

コード&解説

モジュールのインポート

バージョン

データの作成

256 x 256の2Dデータのランダムな位置に点を作成して、ガウシアンフィルターをかけた画像を用いる。

画像を表示

生成した画像は以下のようになる。

cmaps

使用するcmapをリスト形式で定義しておく。

スクロールイベントのクラスの設定

コンストラクタ

色々な初期設定を行なっておく。

スクロールイベント

event.button == ‘up’の場合、self.indに1を加え、それ以外の場合、self.indから1を引くことにする。

update関数

self.im.set_cmap(cmaps[self.ind])でcmapをアップデートする。

スクロールでcmapを選択する処理の実行

tracker = IndexTracker(ax, im,cmaps,cax)で実行できる。これによって、以下の動画のようにcmapを変更できる。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

参考

Scroll event — Matplotlib 3.8.4 documentation

コメント