2013-01-09 5 views
1

나는 간단한 작업 인 것처럼 보이지만 어떻게 시작해야하는지 잘 모르겠습니다. 현재 내가 가지고있는 것은 한 그림에 표시된 일련의 서브 플로트입니다. 이제는 각 하위 플롯에 이벤트 핸들러를 추가/연결하여 사용자가 하위 플롯 중 하나를 클릭하면 선택한 플롯이 별도의 Figure/Window에서 열리게됩니다.
이것이 가능한지와 누군가가 간단한 간단한 코드를 작성하여이를 수행하는 방법을 설명 할 수 있는지 알고 싶습니다. 필자가 사용하고 관심이있는 유일한 플롯 유형은 colormaps (imshow() 사용)입니다.이벤트 연결 및 서브 플롯 matplotlib

답변

4

this 튜토리얼을 읽어야합니다.

은 기본적으로 하나의 아규먼트 event 소요 함수를 정의 다음 그림의 캔버스에 첨부해야합니다

def open_new_figure(event): 
    if event.inaxes is not None: 
     ax = event.inaxes 
     # you now have the axes object for that the user clicked on 
     # you can use ax.children() to figure out which img artist is in this 
     # axes and extract the data from it 

cid = fig.canvas.mpl_connect('button_press_event', open_new_figure) 
+0

대단히 감사합니다! 코드의 주석은 필요한 축을 찾는 방법을 이해하는 데 도움이되었습니다. – Kanat