2010-05-10 4 views
1

GUI가있는 작은 MATLAB 프로그램을 작성했습니다. gui 안에는 다른 것들 중에서 사용자가 두 점을 선택할 수 있어야하는 음모가 있습니다. 이를 위해 나는 선택을위한 십자형을 만드는 ginput 함수를 사용한다. Unfortunatley 십자선은 전체 창을 확장하고 멋지게 보이지 않으며 사용자에게 혼란을주는 음모에만 국한되지 않습니다. 십자선은 어떻게 음모의 영역에만 제한 될 수 있습니까?ginput의 십자선을 어떻게 하나의 플롯으로 제한 할 수 있습니까?

답변

4

십자형을 만들지 않는 getpts를 사용해보십시오. getpts와 함께, 당신은 또한 getpts에 대한 유일한 문제는 정확히 두 개의 점으로 제한 할 방법이 없습니다입니다

[x,y] = getpts(ax); 

에서와 같이 사용자가 선택하고자하는 축을 지정할 수 있습니다. 그러나 사용자가 DELETE를 눌러 포인트 선택을 취소하고 ENTER를 눌러 포인트를 확인할 수 있다는 좋은 특징이 있습니다. ginput 설명서를 자세히보고

, 당신이 설명하는 동작은 의도와 축이 현재 축 축이 만드는 클릭

doc ginput 

에서

분명히 피할 수있다. ginput을 호출하기 전에 현재 축을 설정하더라도 클릭 한 축 중 현재 축이되고 ginput이 해당 축을 기준으로 점을 반환합니다. 여러 축에서 점을 선택하면 반환 된 결과는 해당 축의 좌표계와 관련됩니다.

+0

나는 십자형을 정말 좋아했지만, 충분히 좋았습니다. – Lucas

+0

관심 축에 대한 콜백을 사용하여 십자형을 생성하는 코드를 작성할 수 있습니다. 하지만 아마도 시간 낭비 일 가능성이 가장 큽니다. 좋아, 어쩌면 최대 규모는 아니지만 상위 10 위. – Marc

관련 문제