Main Content

brush

차트의 데이터 값을 대화형 방식으로 표시

설명

데이터 브러싱을 사용하면 차트의 데이터 값을 직접 선택한 색으로 표시할 수 있습니다. 표시할 데이터 값을 일일이 선택하거나 사각형을 사용하여 여러 개 선택할 수 있습니다. 표시된 값들을 삭제하거나 작업 공간의 변수로 저장할 수 있습니다. 패닝, 확대/축소, 데이터팁 추가 또는 플롯 편집을 하는 경우에도 브러싱 표시는 제거하지 않는 이상 그대로 유지됩니다.

데이터 브러싱은 선 차트, 막대 차트, 영역 차트, 히스토그램 차트, 곡면 차트 등 대부분의 차트에서 지원됩니다. 브러싱이 지원되는 차트에는 대개 좌표축 도구 모음에 브러싱 아이콘 이 표시됩니다.

생성

설명

예제

brush on은 현재 Figure에서 브러싱을 켭니다. 브러싱을 켠 상태에서, 한 개의 데이터 값을 표시하려면 해당 데이터 값을 클릭하십시오. 데이터 값을 여러 개 표시하려면 값 주위를 사각형으로 끌어서 놓아 선택하십시오. 표시를 더 추가하거나 원치 않는 표시를 제거하려면 Shift 키를 누른 상태에서 값을 브러싱하십시오.

brush off는 브러싱을 끕니다. 차트에 이미 브러싱 표시가 되어 있으면 이 명령을 사용해도 표시가 제거되지 않습니다.

brush는 브러싱 모드를 'on''off' 간에 전환합니다.

brush(color)는 이후부터 추가되는 브러싱 표시의 색을 설정합니다. 브러싱 색을 설정해도 현재 표시에는 반영되지 않습니다. 브러싱 색을 적용하려면 데이터를 브러싱하고 브러싱 색을 변경한 다음 Shift 키를 사용하여 표시를 추가하거나 제거해야 합니다. 이 경우에는 모든 표시가 새로운 색으로 업데이트됩니다.

brush(fig,___)는 특정 Figure에 대해 브러싱 모드 또는 색 옵션을 설정합니다. 예를 들면 brush(fig,'on')과 같습니다.

예제

b = brush(___)brush 객체를 만듭니다. 이 구문은 브러싱 모드, 색, 콜백 속성을 제어할 때 유용합니다.

입력 인수

모두 확장

대상 Figure로, Figure 객체로 지정됩니다. Figure를 지정하지 않을 경우 브러싱은 현재 Figure에 영향을 줍니다.

브러싱 표시 색으로, RGB 3색 또는 색 이름으로 지정됩니다. 특정 색의 브러싱 표시를 만들려면 데이터 값을 브러싱하기 전에 색 속성을 설정하십시오. 브러싱 색을 설정해도 현재 표시에는 반영되지 않습니다. 브러싱 색을 적용하려면 데이터를 브러싱하고 브러싱 색을 변경한 다음 Shift 키를 사용하여 표시를 추가하거나 제거해야 합니다. 이 경우에는 모든 표시가 새로운 색으로 업데이트됩니다.

RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]). 몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 색의 긴 이름과 짧은 이름 옵션, 그리고 각각에 대응하는 RGB 3색 값이 나열되어 있습니다.

색 이름짧은 이름RGB 3색모양
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

다음은 MATLAB®이 여러 유형의 플롯에서 디폴트 색으로 사용하는 RGB 3색입니다.

RGB 3색모양
[0 0.4470 0.7410]

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

속성

모두 확장

브러싱 표시 색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 특정 색의 브러싱 표시를 만들려면 데이터 값을 브러싱하기 전에 색 속성을 설정하십시오. 브러싱 색을 설정해도 현재 표시에는 반영되지 않습니다. 브러싱 색을 적용하려면 데이터를 브러싱하고 브러싱 색을 변경한 다음 Shift 키를 사용하여 표시를 추가하거나 제거해야 합니다. 이 경우에는 모든 표시가 새로운 색으로 업데이트됩니다.

사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

  • 16진수 색 코드는 문자형 벡터 또는 string형 스칼라로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#FF8800", "#ff8800", "#F80""#f80"은 모두 동일합니다.

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름RGB 3색16진수 색 코드모양
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"해당 없음해당 없음해당 없음색 없음

다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드모양
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

브러싱 모드로, 'off' 또는 'on'으로 지정됩니다.

브러싱 전에 실행할 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

  • 함수 핸들과 추가 인수가 포함된 셀형 배열

  • 기본 작업 공간에서 실행되는 유효한 MATLAB 명령이나 함수인 문자형 벡터(권장되지 않음)

그래프 브러싱을 시작할 때 코드를 실행하려면 이 속성을 사용하십시오. 함수 핸들을 사용하여 이 속성을 지정하면 콜백을 실행할 때 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • figure — 브러싱되는 Figure 객체.

  • axesStruct — 브러싱되는 좌표축이 포함된 구조체. 이 구조체에는 브러싱되는 axes 객체인 Axes라는 필드가 하나 들어 있습니다. 콜백 함수에 이 인수를 사용하지 않을 경우 이 인수를 물결표 문자(~)로 바꾸십시오.

함수 핸들을 사용하여 콜백 정의를 지정하는 방법에 대한 자세한 내용은 Create Callbacks for Graphics Objects 항목을 참조하십시오.

브러싱 후에 실행할 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

  • 함수 핸들과 추가 인수가 포함된 셀형 배열

  • 기본 작업 공간에서 실행되는 유효한 MATLAB 명령이나 함수인 문자형 벡터(권장되지 않음)

그래프 브러싱을 마친 후에 코드를 실행하려면 이 속성을 사용하십시오. 함수 핸들을 사용하여 이 속성을 지정하면 콜백을 실행할 때 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • figure — 브러싱되는 Figure 객체.

  • axesStruct — 브러싱되는 좌표축이 포함된 구조체. 이 구조체에는 브러싱되는 axes 객체인 Axes라는 필드가 하나 들어 있습니다. 콜백 함수에 이 인수를 사용하지 않을 경우 이 인수를 물결표 문자(~)로 바꾸십시오.

함수 핸들을 사용하여 콜백 정의를 지정하는 방법에 대한 자세한 내용은 Create Callbacks for Graphics Objects 항목을 참조하십시오.

브러싱 억제 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

  • 함수 핸들과 추가 인수가 포함된 셀형 배열

  • 기본 작업 공간에서 실행되는 유효한 MATLAB 명령이나 함수인 문자형 벡터(권장되지 않음)

사용자가 정의한 조건 하의 브러싱을 억제하려면 이 속성을 사용하십시오. 숫자형 또는 논리형 출력값 1(true)은 브러싱 동작을 억제하고, 숫자형 또는 논리형 출력값 0(false)은 브러싱 동작이 계속 진행되도록 허용합니다. 함수 핸들을 사용하여 이 속성을 지정하면 콜백을 실행할 때 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • axes — 브러싱되는 axes 객체.

  • eventData — 빈 인수. 함수 정의에서 이 인수를 물결표 문자(~)로 바꿔서 이 인수가 사용되지 않음을 나타낼 수 있습니다.

함수 핸들을 사용하여 이 속성을 지정할 경우 함수의 출력값을 변수에 할당해야 합니다.

함수 핸들을 사용하여 콜백 정의를 지정하는 방법에 대한 자세한 내용은 Create Callbacks for Graphics Objects 항목을 참조하십시오.

이 속성은 읽기 전용입니다.

브러싱 표시가 나타나는 Figure 객체.

레거시 모드로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

이 속성을 'on'으로 설정하면 기존 Figure의 모드 동작과 일치하도록 UI Figure의 상호 작용 모드 동작이 변경됩니다. 자세한 내용은 enableLegacyExplorationModes를 참조하십시오.

이 속성을 'on'으로 설정한 후에는 다시 'off'로 변경할 수 없습니다.

이 속성은 uifigure 함수를 사용하여 만들거나 MATLAB Online™에서 만든 Figure의 brush 객체에만 적용됩니다.

예제

모두 축소

브러싱을 사용하여 산점도 플롯의 데이터 값을 표시합니다. 먼저 난수 xy 값을 플로팅합니다. 그런 다음 브러싱을 켜고 마우스를 사용하여 일부 점 주위를 사각형으로 끌어서 놓습니다.

x = rand(20,1);
y = rand(20,1);
scatter(x,y)
brush('on')

Scatter plot with a rectangle surrounding some points. The surrounded points have a red fill instead of no fill.

표시한 점을 모두 취소하지 않고 표시한 일부 점을 수정하려면 Shift 키를 누른 상태에서 브러싱하십시오. 점 하나를 추가하거나 제거하려면 해당 점을 클릭하십시오. 여러 개의 점을 추가하거나 제거하려면 사각형으로 끌어서 놓아 선택하십시오.

Scatter plot with a red rectangle surrounding a different group of points. Points in both groups have a red fill.

모든 브러싱 표시를 지우려면 좌표축의 빈 영역을 클릭하거나 끌어서 놓으십시오.

데이터 값을 막대 차트에 플로팅한 다음 brush 객체를 생성합니다. 그런 다음 브러싱을 활성화하고, brush 객체의 속성을 업데이트하여 브러싱 색을 'green'으로 설정합니다. 마지막으로, 사각형을 사용하여 각 막대의 최댓값을 포함하도록 선택하여 데이터 값을 표시합니다.

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y)
b = brush;
b.Enable = 'on';
b.Color = 'green';

Bar chart with a rectangle around the maximum value of some bars. The selected bars have a green fill instead of a blue fill.

브러싱된 데이터를 상황별 메뉴를 사용하여 변수로 저장합니다. 먼저, 일부 xy 값을 플로팅합니다. 브러싱을 켠 다음 일부 데이터 값을 표시합니다.

x = linspace(0,5,30);
y = exp(x);
plot(x,y)
brush('on')

Line plot with a rectangle surrounding some points. The line and data values in the rectangle are highlighted in red.

브러싱된 데이터를 변수로 저장하려면 브러싱된 데이터 값을 마우스 오른쪽 버튼으로 클릭한 다음 상황별 메뉴에서 브러싱된 데이터 내보내기를 선택하십시오. 메시지가 표시되면 변수 이름을 입력합니다. 이 경우 이름을 bData로 지정합니다. 마지막으로 bData의 내용을 확인합니다.

bData
bData =

    3.2759   26.4660
    3.4483   31.4461
    3.6207   37.3633
    3.7931   44.3940
    3.9655   52.7475
    4.1379   62.6730
    4.3103   74.4662
    4.4828   88.4784
    4.6552  105.1273

브러싱된 데이터를 상황별 메뉴를 사용하여 차트에서 제거합니다. 먼저, 일부 xy 값을 플로팅합니다. 브러싱을 켠 다음 일부 데이터 값을 표시합니다.

x = linspace(0,5,30);
y = exp(x);
scatter(x,y)
brush('on')

Scatter plot with a rectangle surrounding some points. The selected points have a red fill instead of no fill.

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

Updated scatter plot. The selected points are gone.

제한 사항

uifigure 함수를 사용하여 만든 Figure에서는 상황별 메뉴를 사용하여 브러싱 표시의 색을 변경하는 기능이 지원되지 않습니다. 대신 브러싱 모드 객체를 만들어서 프로그래밍 방식으로 색을 변경하십시오.

uif = uifigure;
ax = axes(uif);
bar(ax,1:10)
b = brush(uif);
b.Color = 'g';
b.Enable = 'on';

세부 정보

모두 확장

  • 히스토그램 차트를 브러싱하려면 먼저 데이터 연결을 켜야 합니다.

버전 내역

R2008a에 개발됨