2016-10-08 2 views
0

임베디드 서브 플로트와 사용자 상호 작용을 Tkinter 프레임으로 수행하기 위해 일부 이벤트를 처리하려고합니다. 이처럼 exampleMatplotlib "pick_event"가 FigureCanvasTkAgg가있는 임베디드 그래프에서 작동하지 않습니다.

"key_press_event"및 "button_press_event"와 잘 작동하지만 "pick_event"에서는 작동하지 않습니다.

def on_button_press(event): 
    print('you pressed mouse button') 

canvas.mpl_connect('button_press_event', on_button_press) 

def on_pick(event): 
    print('you picked:',event.artist) 

canvas.mpl_connect('pick_event', on_pick) 

왜 "pick_event"임베디드 그래프로 작동하지 않습니다

은 그냥 mpl_connect 호출 한 후 다음 코드 조각을 추가, 링크에서 그 변형 예? 어떻게 작동시킬 수 있습니까?

내 구성은 설명 :

  • 윈도우 10
  • 파이썬 3.5 (CONDA 버전)
  • 하기 matplotlib 1.5.3 설치 핍을 통해

사전에 감사!

답변

2

글쎄, 나는 그것을 해결 ...

대부분의 이벤트는 우리는 단지 마법이 일어날에게로 mpl_connect 방법을 사용해야합니다. 내 실수는 우리가 우리 플롯이 인수자를 picker=True에 넣으면 아티스트에게만 클릭하면 이벤트가 트리거되도록하고, picker=xx이 픽셀 허용 오차 인 정수인 것으로 분명하게 말할 필요가 있다는 것을 알지 못했다는 것이다. 방아쇠를 당긴다. 따라서 질문에서 선택을 위해 삽입 한 변경 사항 이외에

a.plot(t, s)a.plot(t, s,picker=True) 또는 a.plot(t, s,picker=10)으로 대체해야합니다.

관련 문제