はじめに
本記事では、Jupyter NotebookやLabで使用できるipywidgetsの機能を活用し、ドロップダウンメニューから画像を選択して、対応するカラーバーと一緒に表示する方法について解説します。対話的な操作で視覚的なデータ分析を効率的に行う方法を学びましょう。
コード

解説
モジュールのインポートなど
Jupyter Labでインタラクティブな操作を行うには、コードの冒頭に「%matplotlib widget」と記述します。
Jupyter Notebookの場合は「%matplotlib notebook」を使用します。
別ウィンドウでGUIを表示したい場合は「%matplotlib」を指定します。また、カラーバーを表示するためには「make_axes_locatable」をインポートする必要があります。
バージョン
画像データの作成
128 × 128のサイズで、強度の高い箇所が複数ある画像を作成します。
空のリスト(im_list)を用意し、そこに画像データをappendで追加することで、3つの画像を含むリストを作成します。
画像の表示
imshowで画像を表示します。
カラーバーの表示
dividerをmake_axes_locatable(ax)で作成し、divider.append_axes(“top”, size=”5%”, pad=0.02)を使うことでカラーバーを画像の上部に表示できます。
plt.colorbarにcax=caxを指定することでカラーバーの位置を設定し、orientation=’horizontal’パラメータで水平方向に表示します。
Dropdownの設定
Dropdownのoptionsパラメータで[(‘image1’, 0), (‘image2’, 1), (‘image3’, 2)]のように設定すると、image1を選択したときに値0が返されます。valueパラメータは初期値を指定します。
@interactを使用してipywidgetsを有効化します。 関数f(im_dd)はドロップダウンが選択されるたびに実行されます。 ドロップダウンから画像を選択すると、imshow関数で対応する画像が表示されます。 画像の切り替えは、imgリストのインデックス参照によって行われます。
カラーバーはcbar.mappable.set_clim関数で表示範囲を設定し、cax.xaxis.set_ticks_position(‘top’)でカラーバーの目盛りを上部に配置します。
image2の場合

image3の場合

まとめ
ipywidgetsのDropdownウィジェットを使うことで、複数の画像を簡単に切り替えて表示でき、同時にカラーバーも表示することで、データの視覚的な理解を深めることができます。この方法はデータ分析やプレゼンテーションの場面で非常に役立ちます。
参考

コメント