2016-03-22 16 views
1

私はいくつかのサブプロットを持つMatplotlibを持っています。私は位置1のサブプロットがクリックされたときに実行される関数が必要です。イベントハンドラによって生成されたイベントオブジェクトから、サブプロットがクリックされたかどうかをどのように判断するのですか?ポイントがMatplotlibサブプロットにあるかどうかを確認する

+1

サンプルコードを表示できますか? – Suever

答えて

2

クリックされた軸であるinaxesの属性としてコールバックに含まれるオブジェクト。event

import matplotlib.pyplot as plt 
fig, ax_list = plt.subplots(2, 2) 
ax_list = ax_list.ravel() 
ax_list[0].set_gid('A') 
ax_list[1].set_gid('B') 
ax_list[2].set_gid('C') 

def clicker(event): 
    print(event.inaxes.get_gid()) 

fig.canvas.mpl_connect('button_press_event', clicker) 
plt.show() 
+0

ありがとう!そのサブプロット内のクリックの座標はどのように計算されますか?たとえば、サブプロット1に画像があり、その画像の座標0,0をクリックすると、event.xにアクセスすると0,0が得られません。 – user3396592

+0

'x'と' y'はピクセル空間 ' xdataとydataはデータ空間にあります。 – tacaswell

+0

別の方法でサブプロットにアクセスして(データを設定する)どうすればよいですか? – user3396592

関連する問題