[matplotlib] 57. plt.imshow()で軸を画像から離して表示

matplotlib

はじめに

matplotlibのplt.imshowで画像を表示する際に、軸を画像から離して表示する方法について説明する。

コード

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

解説

モジュールのインポート

データの生成

最初にnp.zeros((s, s))で128 x 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)とすることで外側に5points動く。内側に動かしたい場合は負の値を入力する。

軸の一部を非表示にする

軸は、.set_visible(False)とすることで表示されなくなる。

参考

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

コメント