[matplotlib] 57. imshow使用時に軸を画像から離して表示する方法

matplotlib

はじめに

matplotlibのplt.imshow()で画像を表示する際、見やすさを向上させるために軸を画像から離して配置する方法を解説します。tick_paramsとspinesを使った設定方法や実装例を紹介し、データ可視化の質を高めるテクニックを学べます。

コード

解説

モジュールのインポート

バージョン

データの生成

まずnp.zeros((s, s))で128×128のデータを生成します。

次に(s*np.random.random((2, n**2))).astype(int)を使って0〜127のランダムな整数を(2,100)の形状で生成します。その後、imの[points[0], points[1]]に対応する部分の要素を1に設定し、ndimage.gaussian_filterでぼかすことで画像データを作成します。

imとpointsの形状は以下の通りです。

画像の表示

軸の位置の変更

ax.spines[‘left’].set_position を使用して軸を移動させます。(‘outward’, 5)と指定すると、軸が外側に5ポイント移動します。内側に移動させたい場合は、負の値を入力してください。

軸の一部を非表示にする

軸は、.set_visible(False)と設定することで非表示にすることができます。

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

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

参考

Dropped spines — Matplotlib 3.1.2 documentation
2.6. Numpy と Scipy を利用した画像の操作と処理 — Scipy lecture notes
matplotlib.spines — Matplotlib 3.1.2 documentation

コメント