インタラクティブなカラーマップ調整

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、Matplotlib を使ってカラーバーを使って画像のカラーマッピングの範囲を対話的に調整する方法を学びます。ズームとパンモードを使って norm の vmin と vmax を調整します。右マウスボタンを使ったズームは、選択された領域に比例して vmin と vmax を拡大します。パン操作時には、norm の vmin と vmax は移動方向に応じてシフトします。また、Home/Back/Forward ボタンを使って以前の状態に戻ることもできます。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてNotebookタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証は自動化できません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

必要なライブラリをインポートする

この実験を始めるには、必要なライブラリをインポートする必要があります。この実験では、matplotlib.pyplotnumpy ライブラリを使用します。

import matplotlib.pyplot as plt
import numpy as np

データを生成する

次に、サンプルデータを生成します。この実験では、2 次元のサイン波を生成します。

t = np.linspace(0, 2 * np.pi, 1024)
data2d = np.sin(t)[:, np.newaxis] * np.cos(t)[np.newaxis, :]

グラフを作成する

データを生成したので、imshow() 関数を使ってグラフを作成します。

fig, ax = plt.subplots()
im = ax.imshow(data2d)
ax.set_title('Pan on the colorbar to shift the color mapping\n'
             'Zoom on the colorbar to scale the color mapping')

カラーバーを追加する

カラーマップを対話的に調整するには、colorbar() 関数を使ってグラフにカラーバーを追加する必要があります。

fig.colorbar(im, ax=ax, label='Interactive colorbar')

カラーマップを調整する

今、カラーバーを使って画像のカラーマッピングの範囲を対話的に調整できます。カラーバーの内部をクリックすることでズームまたはパン操作ができます。ズーム操作を行うと、ズーム領域の境界ボックスが新しい vmin と vmax のノルムを定義します。右マウスボタンを使ってズームすると、選択した領域に応じて vmin と vmax が比例して拡大します。パン操作を行うと、ノルムの vmin と vmax が移動方向に応じてシフトします。

グラフを表示する

最後に、show() 関数を使ってグラフを表示できます。

plt.show()

まとめ

この実験では、Matplotlib を使ってカラーバーを用いて画像のカラーマッピングの範囲を対話的に調整する方法を学びました。ズームとパンモードを使ってノルムの vmin と vmax を調整しました。右マウスボタンを使ったズームは、選択した領域に応じて vmin と vmax を比例して拡大しました。パン操作を行うと、ノルムの vmin と vmax が移動方向に応じてシフトしました。また、グラフにカラーバーを追加してグラフを表示する方法も学びました。