はじめに
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.9.2 documentation
コメント