차트 상호 작용 제어하기

플로팅된 데이터를 대화형 방식으로 탐색하고 편집하여 데이터의 시각적 표시를 향상시키거나 데이터의 추가 정보를 나타낼 수 있습니다. 사용 가능한 상호 작용은 좌표축의 내용에 따라 달라지지만, 일반적으로 확대/축소, 패닝, 회전, 데이터팁, 데이터 브러싱, 원래 보기 복원이 포함됩니다.

일부 유형의 상호 작용은 좌표축 도구 모음을 통해 사용할 수 있습니다. 차트 영역 위에 커서를 올려놓으면 좌표축의 오른쪽 위 코너에 도구 모음이 표시됩니다.

다른 상호 작용 유형(예: 끌어서 패닝 또는 스크롤하여 확대/축소)은 좌표축에 내장되어 있으며 제스처를 통해 사용할 수 있습니다. 이러한 상호 작용은 좌표축 도구 모음의 상호 작용과는 별개로 제어됩니다.

차트를 생성할 때 다음과 같이 여러 가지 방법으로 사용 가능한 상호 작용 모음을 제어할 수 있습니다.

R2018a와 그 이전 릴리스에서는 많은 상호 작용 옵션이 좌표축 도구 모음 대신 Figure 도구 모음에 표시됩니다. 또한 이전 릴리스에서는 상호 작용이 좌표축에 내장되어 있지 않았습니다.

좌표축 도구 모음 표시 또는 숨기기

좌표축 도구 모음을 표시하거나 숨기려면 AxesToolbar 객체의 Visible 속성을 각각 'on' 또는 'off'로 설정하십시오. 예를 들어, 현재 좌표축의 도구 모음을 숨기려면 다음과 같이 하십시오.

ax = gca;
ax.Toolbar.Visible = 'off';

좌표축 도구 모음 사용자 지정하기

axtoolbar 함수와 axtoolbarbtn 함수를 통해 좌표축 도구 모음에서 사용 가능한 옵션을 사용자 지정할 수 있습니다.

참고

라이브 편집기에서는 사용자 지정 도구 모음이 Figure에 표시되지 않습니다. 사용자 지정 도구 모음을 보려면 별도의 Figure 창에서 Figure를 여십시오.

예를 들어, 좌표축 그리드 선을 활성화 및 비활성화하는 사용자 지정 상태 버튼을 좌표축 도구 모음에 추가해 보겠습니다. 먼저 mycustomstatebutton.m이라는 프로그램 파일을 생성합니다. 프로그램 파일 내에서 다음을 수행합니다.

  • 임의의 데이터를 플로팅합니다.

  • axtoolbar 함수를 사용하여 보기를 확대, 축소, 복원할 수 있는 옵션이 포함된 좌표축 도구 모음을 생성합니다.

  • axtoolbarbtn 함수를 사용하여 도구 모음에 빈 상태 버튼을 추가합니다. ToolbarStateButton 객체를 반환합니다.

  • Icon 속성, Tooltip 속성, ValueChangedFcn 속성을 설정하여 상태 버튼의 아이콘, 툴팁, 콜백 함수를 지정합니다. 이 예제에서는 아이콘을 사용하는데, 그러려면 먼저 아이콘을 사용자 경로에 mygridicon.png라는 이미지 파일로 저장해야 합니다.

프로그램 파일 실행 시, 이 아이콘을 클릭하여 그리드 선을 활성화 및 비활성화할 수 있습니다.

function mycustomstatebutton

plot(rand(5))
ax = gca;
tb = axtoolbar(ax,{'zoomin','zoomout','restoreview'});

btn = axtoolbarbtn(tb,'state');
btn.Icon = 'mygridicon.png';
btn.Tooltip = 'Grid Lines';
btn.ValueChangedFcn = @customcallback;

    function customcallback(src,event)
        switch src.Value
            case 'off'
                event.Axes.XGrid = 'off';
                event.Axes.YGrid = 'off';
                event.Axes.ZGrid = 'off';
            case 'on'
                event.Axes.XGrid = 'on';
                event.Axes.YGrid = 'on';
                event.Axes.ZGrid = 'on';
        end
    end

end

내장된 상호 작용 활성화 또는 비활성화하기

차트 내에서 내장된 상호 작용의 활성화 여부를 제어하려면 disableDefaultInteractivity 함수와 enableDefaultInteractivity 함수를 사용하십시오. MATLAB®이 내장된 상호 작용을 자동으로 비활성화하는 경우가 있습니다. 예를 들어, 특수 기능이 있는 차트의 경우나 WindowScrollWheelFcn과 같은 특정 콜백을 구현하는 경우에 비활성화될 수 있습니다.

내장된 상호 작용 사용자 지정하기

대부분의 좌표축 유형에는 특정 제스처에 해당하는 내장된 상호 작용이 포함되어 있습니다. 사용 가능한 상호 작용은 좌표축의 내용에 따라 달라집니다. 대부분의 카테시안 좌표축에는 스크롤하여 확대/축소, 커서를 올리거나 클릭하여 데이터팁 표시, 끌어서 패닝(2차원 보기) 또는 끌어서 회전(3차원 보기)을 할 수 있는 상호 작용이 포함되어 있습니다. 디폴트 세트를 새 상호 작용 세트로 바꿀 수는 있지만 디폴트 세트의 상호 작용에 액세스하거나 수정할 수는 없습니다.

참고

라이브 편집기에서는 내장된 상호 작용을 사용자 지정하거나 바꿀 수 없습니다.

디폴트 상호 작용을 바꾸려면 좌표축의 Interactions 속성을 interaction 객체로 구성된 배열로 설정하십시오. 다음 표에서 호환되는 interaction 객체의 조합을 선택합니다. 좌표축에서 모든 상호 작용을 삭제하려면 속성을 빈 배열([])로 설정하십시오.

interaction 객체설명호환되는 상호 작용
panInteraction차트 내에서 끌어서 패닝.regionZoomInteractionrotateInteraction을 제외한 모든 상호 작용
rulerPanInteraction축을 끌어서 패닝.모든 상호 작용
zoomInteraction스크롤하거나 손가락 모으기 제스처로 확대/축소.모든 상호 작용
regionZoomInteraction사각형 영역을 끌어서 확대.
(2차원 차트에만 해당)
panInteractionrotateInteraction을 제외한 모든 상호 작용
rotateInteraction차트를 끌어서 회전.panInteractionregionZoomInteraction을 제외한 모든 상호 작용
dataTipInteraction커서를 올리거나 클릭하거나 눌러서 데이터팁 표시.모든 상호 작용

예를 들어, 1000개의 산점을 포함하는 플롯을 생성합니다.

x = 1:500;
y = randn(1,500);
y2 = 5*randn(1,500) + 10;
plot(x,y,'.',x,y2,'.')

기본적으로 이 플롯에는 '차트 영역 내에서 끌어서 패닝'을 비롯한 일련의 상호 작용이 포함되어 있습니다. 그러나 현재 플롯에 조밀한 점 모음이 있으므로 플롯의 특정 영역을 확대할 수 있는 상호 작용을 설정에 포함하는 것이 더 유용할 수 있습니다. regionZoomInteraction 객체가 이 기능을 제공합니다. 현재 좌표축에 대한 상호 작용의 디폴트 설정을 regionZoomInteraction 객체를 포함하는 배열로 바꿉니다.

ax = gca;
ax.Interactions = [zoomInteraction regionZoomInteraction rulerPanInteraction];

이제 플롯 영역 내에서 끌어서 놓으면 확대할 사각형 영역이 정의됩니다.

참고 항목

함수

속성

관련 항목