Main Content

linkdata

차트로 작성된 데이터의 자동 업데이트

설명

데이터 연결을 사용하여 차트와 차트의 작업 공간 변수를 동기화합니다. 연결된 차트는 작업 공간 변수가 변경되면 자동으로 업데이트되고, 작업 공간 변수는 차트에서 브러시 툴을 통해 차트를 수정하면 자동으로 업데이트됩니다.

linkdata 함수를 사용하거나 Figure 도구 모음에서 플롯 연결 버튼 을 선택하여 차트와 작업 공간 변수를 연결하십시오.

생성

설명

예제

linkdata on은 현재 좌표축에 대한 데이터 연결 모드를 설정합니다.

linkdata off는 데이터 연결 모드를 해제합니다.

linkdata는 데이터 연결 모드를 'on''off' 사이에서 전환합니다.

예제

linkdata showdialog연결된 플롯 데이터 소스 대화 상자를 엽니다. 이 구문을 사용하여 대화형 방식으로 차트를 작업 공간 변수와 동기화할 수 있습니다.

linkdata(fig,___)는 지정된 Figure에 대한 데이터 연결 모드를 지정합니다. 옵션 'on''off'를 둘러싸는 작은따옴표나 큰따옴표를 사용하십시오. 예를 들면 linkdata(fig,'on')과 같습니다.

l = linkdataLinkData 객체를 만듭니다. 이 구문은 데이터 연결 모드를 쿼리하는 데 유용합니다.

l = linkdata(fig)는 지정된 Figure에 대한 LinkData 객체를 만듭니다.

입력 인수

모두 확장

대상 Figure로, Figure 객체로 지정됩니다. Figure를 지정하지 않으면 현재 Figure에 대해 데이터 연결이 활성화되거나 비활성화됩니다.

속성

모두 확장

읽기 전용 속성입니다.

데이터 연결 모드로, 'off' 또는 'on'으로 지정됩니다.

예제

모두 축소

막대 차트를 만들고 데이터 연결을 활성화합니다. 데이터가 연결되면 막대 차트가 작업 공간의 x 변수 및 y 변수와 동기화됩니다.

x = linspace(-5,5,11);
y = abs(x);
bar(x,y)
linkdata on

Bar chart. The bar at x = 0 has a height of 0.

y의 값 중 하나를 수정합니다. 변경 사항이 반영되도록 막대 차트가 즉시 업데이트되는 것을 알 수 있습니다.

y(6) = 4;

Updated bar chart. The bar at x = 0 has a height of 4.

linkdata와 브러시 툴을 사용하여 대화형 방식으로 차트에서 작업 공간 값을 선택하여 삭제합니다.

플로팅할 데이터를 생성합니다. xy에 21개의 값이 있음을 알 수 있습니다.

x = linspace(-5,5,21);
y = -abs(x);

lengthX = length(x)
lengthY = length(y)
lengthX =

    21


lengthY =

    21

데이터를 플로팅한 다음, 데이터 연결과 브러싱을 둘 모두 활성화합니다.

scatter(x,y,'filled')
linkdata on
brush on

삭제하려는 데이터 값을 강조 표시합니다. 브러싱된 데이터를 차트에서 제거하려면 브러싱된 값을 마우스 오른쪽 버튼으로 클릭한 다음 상황별 메뉴에서 제거를 선택하십시오.

Scatter plot with seven brushed data values

차트는 데이터 소스에 연결되어 있으므로, 차트에서 값을 삭제하면 데이터 소스에서도 그 값이 삭제됩니다. 이제 xy에는 14개의 데이터 값만 있음을 확인할 수 있습니다.

lengthX = length(x)
lengthY = length(y)
lengthX =

    14


lengthY =

    14

복소수 데이터와 연결합니다. 복소수 데이터를 플로팅할 때 데이터의 실수부와 허수부가 각각의 개별 작업 공간 변수에 대응되지 않습니다. 따라서, linkdata 함수가 x축과 y축에 대한 데이터 소스를 식별할 수 없습니다. 복소수 데이터를 연결하려면 복소수 데이터의 실수부는 x 성분으로, 허수부는 y 성분으로 수동으로 지정해야 합니다.

먼저 복소수 데이터 값으로 구성된 행렬을 만들고 플로팅합니다. 그런 다음 linkdata showdialog를 호출하여 연결된 플롯 데이터 소스 대화 상자를 엽니다.

z = eig(randn(20,20));
plot(z)
linkdata showdialog

Line plot

XY 아래의 텍스트 상자에 real(z)imag(z)를 입력하여 데이터의 실수부와 허수부를 수동으로 지정합니다.

Linked plot data sources dialog box

이제 차트가 데이터 소스에 연결되었습니다. z를 변경하면 새 데이터가 반영되도록 플롯이 업데이트됩니다.

대화 상자를 사용하고 싶지 않으면 처음에 데이터 값을 플로팅할 때 데이터 소스를 지정할 수 있습니다.

z = eig(randn(20,20));
plot(z,'XDataSource','real(z)','YDataSource','imag(z)')
linkdata on

  • linkdata가 차트에 대한 데이터 소스를 명백하게 식별할 수 없는 경우에는 차트가 작업 공간 변수와 동기화되지 않습니다. linkdata를 호출했는데 변수를 변경해도 차트가 업데이트되지 않는다면 linkdata showdialog를 호출하여 연결된 플롯 데이터 소스 대화 상자를 열고 차트를 데이터 소스에 수동으로 연결하십시오.

  • linkdata 함수는 연결된 데이터 소스와 차트를 초당 약 2회씩 업데이트합니다. 데이터 값의 변화를 부드럽게 애니메이션으로 나타내려면 초당 2회 이하로 실행되는 루프를 만드십시오. 자세한 내용은 pause 함수를 참조하십시오.

  • 차트가 작업 공간 변수와 동기화되고 나면, 차트의 데이터 속성(예: XData)을 프로그래밍 방식으로 변경해도 작업 공간 변수가 업데이트되지 않습니다. 브러시 툴을 사용해 플로팅된 데이터를 대화형 방식으로 수정할 때만 작업 공간 변수가 업데이트됩니다.

알고리즘

데이터 연결은 차트의 데이터 소스 속성(예: XDataSource)을 사용하여 차트와 차트의 작업 공간 변수를 연결합니다. Figure에 대한 데이터 연결을 설정하면 MATLAB®이 작업 공간의 변수와 Figure에 플로팅된 데이터를 비교합니다. MATLAB이 일치 항목을 찾으면 차트의 적절한 데이터 소스 속성에 그 변수를 할당합니다.

버전 내역

R2008a에 개발됨