はじめに
matplotlibのマウスイベントを使って、図中のfigureとaxesに出入りした際に色を変化させる方法について説明する。
コード

解説
モジュールのインポートなど
jupyter labでインタラクティブな操作をするには、冒頭で%matplotlib widgetとする。
jupyter lnotebookの場合は%matplotlib notebookとなる。
別ウインドウで図を表示するには%matplotlibとする。
バージョン
Outputの設定
print()を表示するためのOutputをdisplay()で表示しておく。
イベントの設定
axesにカーソルが入った場合
event.inaxes.patch.set_facecolor(‘g’)でaxesの色を緑にし、event.canvas.draw()で再描写する。
axesからカーソルが出た場合
event.inaxes.patch.set_facecolor(‘white’)でaxesの色を白にし、event.canvas.draw()で再描写する。
figureにカーソルが入った場合
event.canvas.figure.patch.set_facecolor(‘lightgreen’)でfigureの色をライトグリーンにし、event.canvas.draw()で再描写する。
figureからカーソルが出た場合
event.canvas.figure.patch.set_facecolor(‘pink’)でfigureの色をピンクにし、event.canvas.draw()で再描写する。
図の表示
suptitleで全体のタイトルを表示することができる。
xticklabels、yticklabelsを空のリストとすることで非表示にしている。
fig.canvas.mpl_connect(‘figure_enter_event’, enter_figure)のようにすることでイベントを有効にする。下図のように左上のaxesにカーソルを載せることで色が変わる。

jupyter notebookの場合

別ウインドウで表示(GUI)

コメント