[matplotlibで錯視] 3. きらめき格子錯視

その他

matplotlibできらめき格子錯視を作成する

きらめき格子錯視とは?

きらめき格子錯視は、ハーマングリッドと同様の格子状の模様のことで、白線の交差部分の丸がきらめいているように見える。このきらめき格子錯視をmatplotlibを用いて作成する。

コード

解説

モジュールのインポートと図の作成

figsize=(8,8)で四角の図を作成。

背景色の設定

fig.patch.set_facecolor(‘white’) で図を含めた画像全体の背景を白にしている。ax.patch.set_facecolor(‘k’) で図の背景を黒にしている。

目盛と目盛ラベルを非表示

plt.tick_params(labelbottom=False, labelleft=False)で目盛ラベルを非表示にしている。
ax.xaxis.set_major_formatter(plt.NullFormatter())で目盛ラベルを非表示にすることもできる。

plt.tick_params(color=’white’)で目盛を白にして見えなくしている。
目盛についての設定は下記参照。

[matplotlib] 12. 目盛り
matplotlibのグラフにおける目盛りの設定方法について説明する。

図の枠線の設定

図の枠線は、ax.spines[‘right’].set_visible(False)のようにすることで非表示にできる。

グリッドの設定

黒背景に灰色のグリッドを表示する。
グリッドの表示する間隔は、set_major_locator(plt.MaxNLocator(10))とすることで、0.1刻みでグリッドが表示される。

白丸の表示

白丸はデータをプロットすることで表示している。np.meshgridを用いて、0.1から0.9までの格子状データを作成し、それをグリッドの交差点上にプロットすることで、きらめき格子錯視としている。

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

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

参考

錯視と視機能

コメント