matplotlibを用いて複数の画像を表示しています。
マウスイベントを用いて画像処理を行おうと思っていますが
どの画像上にマウスがあるか判定し、その画像に対して処理をしたいと思っていますが
マウスがどの画像上にあるのか判定する方法が分からずに困っています。
(どのax上にあるか判定したい)
例えばmatplotlibのチュートリアルのコードを用いた場合
from __future__ import print_function import matplotlib.pyplot as plt def enter_axes(event): print('enter_axes', event.inaxes) event.inaxes.patch.set_facecolor('yellow') event.canvas.draw() def leave_axes(event): print('leave_axes', event.inaxes) event.inaxes.patch.set_facecolor('white') event.canvas.draw() def enter_figure(event): print('enter_figure', event.canvas.figure) event.canvas.figure.patch.set_facecolor('red') event.canvas.draw() def leave_figure(event): print('leave_figure', event.canvas.figure) event.canvas.figure.patch.set_facecolor('grey') event.canvas.draw() fig1 = plt.figure() fig1.suptitle('mouse hover over figure or axes to trigger events') ax1 = fig1.add_subplot(211) ax2 = fig1.add_subplot(212) fig1.canvas.mpl_connect('figure_enter_event', enter_figure) fig1.canvas.mpl_connect('figure_leave_event', leave_figure) fig1.canvas.mpl_connect('axes_enter_event', enter_axes) fig1.canvas.mpl_connect('axes_leave_event', leave_axes) plt.show()
返されるコードは以下となります。
enter_figure Figure(640x478) enter_axes AxesSubplot(0.125,0.53;0.775x0.35) leave_axes AxesSubplot(0.125,0.53;0.775x0.35) enter_axes AxesSubplot(0.125,0.11;0.775x0.35) leave_axes AxesSubplot(0.125,0.11;0.775x0.35)
座標ではなく、ax1やax2といった判定がしたいです。
どなたかご存知の方ご教授いただければ幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/17 09:58