Main Content

gscatter

그룹별 산점도 플롯

설명

예제

gscatter(x,y,g)g로 그룹화되는 xy에 대한 산점도 플롯을 생성합니다. 입력값 xy는 같은 크기의 벡터입니다.

예제

gscatter(x,y,g,clr,sym,siz)는 각 그룹에 대해 마커 색 clr, 기호 sym, 크기 siz를 지정합니다.

gscatter(x,y,g,clr,sym,siz,doleg)는 범례가 그래프에 표시되는지 여부를 제어합니다. gscatter는 기본적으로 범례를 생성합니다.

예제

gscatter(x,y,g,clr,sym,siz,doleg,xnam,ynam)은 x축 레이블과 y축 레이블에 사용할 이름을 지정합니다. xnamynam을 지정하지 않았는데 x 입력값과 y 입력값이 이름을 가진 변수인 경우, gscatter가 이 변수 이름을 사용하여 축에 레이블을 지정합니다.

예제

gscatter(ax,___)는 axes 객체 ax로 지정된 플롯 좌표축을 사용합니다. ax를 첫 번째 입력 인수로 지정하고, 그 다음에 위에 열거된 구문에 나와 있는 입력 인수를 원하는 대로 조합하여 지정하십시오.

예제

h = gscatter(___)g의 그룹에 해당하는 그래픽스 핸들을 반환합니다.

clr, symsiz에 대해 []을 전달하면 각각의 디폴트 값을 사용할 수 있습니다.

예제

모두 축소

carsmall 데이터 세트를 불러옵니다.

load carsmall

x축에 Displacement 값을 플로팅하고 y축에 Horsepower 값을 플로팅합니다. gscatter는 변수 이름을 축의 디폴트 레이블로 사용합니다. Model_Year를 기준으로 데이터 점을 그룹화합니다.

gscatter(Displacement,Horsepower,Model_Year)

Figure contains an axes object. The axes object with xlabel Displacement, ylabel Horsepower contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent 70, 76, 82.

discrim 데이터 세트를 불러옵니다.

load discrim

데이터 세트는 기후, 주택 시장, 교육, 건강과 같은 9가지 인자에 따른 도시의 평점을 포함합니다. 행렬 ratings는 평점 정보를 포함합니다.

기후(첫 번째 열)와 주택 시장(두 번째 열)에 대한 평점 간의 관계를 행렬 group에 도시 크기별로 그룹화하여 플로팅합니다. 각 그룹에 대해 여러 색과 플로팅 기호를 선택합니다.

gscatter(ratings(:,1),ratings(:,2),group,'br','xo')
xlabel('climate')
ylabel('housing')

Figure contains an axes object. The axes object with xlabel climate, ylabel housing contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent 1, 2.

hospital 데이터 세트를 불러옵니다.

load hospital

병원 환자의 연령과 체중을 플로팅합니다. 성별과 흡연 여부에 따라 환자를 그룹화합니다. o 기호를 사용하여 비흡연자를 나타내고 * 기호를 사용하여 흡연자를 나타냅니다.

x = hospital.Age;
y = hospital.Weight;
g = {hospital.Sex,hospital.Smoker};
gscatter(x,y,g,'rkgb','o*',8,'on','Age','Weight')
legend('Location','northeastoutside')

Figure contains an axes object. The axes object with xlabel Age, ylabel Weight contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent Female,0, Female,1, Male,0, Male,1.

carsmall 데이터 세트를 불러옵니다. 두 개의 서브플롯이 있는 Figure를 만들고 axes 객체를 ax1ax2로 반환합니다. 대응되는 Axes 객체를 참조하여 각 좌표축 세트에 산점도 플롯을 생성합니다. 왼쪽 서브플롯에서 Model_Year 변수를 사용하여 데이터를 그룹화합니다. 오른쪽 서브플롯에서 Cylinders 변수를 사용하여 데이터를 그룹화합니다. 대응되는 Axes 객체를 title 함수로 전달하여 각 플롯에 제목을 추가합니다.

load carsmall
color = lines(6); % Generate color values

ax1 = subplot(1,2,1); % Left subplot
gscatter(ax1,Acceleration,MPG,Model_Year,color(1:3,:))
title(ax1,'Left Subplot (Model Year)')

ax2 = subplot(1,2,2); % Right subplot
gscatter(ax2,Acceleration,MPG,Cylinders,color(4:6,:))
title(ax2,'Right Subplot (Cylinders)')

Figure contains 2 axes objects. Axes object 1 with title Left Subplot (Model Year), xlabel Acceleration, ylabel MPG contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent 70, 76, 82. Axes object 2 with title Right Subplot (Cylinders), xlabel Acceleration, ylabel MPG contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent 4, 6, 8.

hsv 함수로 결정된 컬러맵을 사용하여 마커 색을 지정합니다.

차량을 감싸는 객체의 좌표를 포함하는 라이다 스캔 데이터 세트(3차원 점의 집합으로 저장됨)를 불러옵니다.

load('lidar_subset.mat') 
loc = lidar_subset;

차량 주위의 환경을 강조 표시하기 위해 관심 영역을 차량의 왼쪽과 오른쪽에 20m 및 차량의 앞과 뒤에 20m 간격을 갖는 도로의 표면 위 영역으로 설정합니다.

xBound = 20; % in meters
yBound = 20; % in meters
zLowerBound = 0; % in meters

데이터를 지정된 영역 내의 점만 포함하도록 자릅니다.

indices = loc(:,1) <= xBound & loc(:,1) >= -xBound ...
    & loc(:,2) <= yBound & loc(:,2) >= -yBound ...
    & loc(:,3) > zLowerBound;
loc = loc(indices,:);

쌍별 거리와 함께 dbscan을 사용하여 데이터를 군집화합니다.

D = pdist2(loc,loc);
idx = dbscan(D,2,50,'Distance','precomputed');

gscatter 함수를 사용하여 결과 군집을 2차원 그룹 산점도 플롯으로 시각화합니다. 기본적으로 gscatter는 7가지 MATLAB 디폴트 색을 사용합니다. 고유한 군집 개수가 7개를 초과하는 경우, 함수는 필요한 만큼 디폴트 색을 순환적으로 적용합니다. 군집 개수를 알아내고 hsv 함수를 사용하여 해당 군집에 대응하는 개수의 색을 생성합니다. 각각의 군집에 대해 고유한 색을 사용하도록 마커 색을 지정합니다.

numGroups = length(unique(idx));
clr = hsv(numGroups);
gscatter(loc(:,1),loc(:,2),idx,clr)
xlabel('x')
ylabel('y')

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 12 objects of type line. One or more of the lines displays its values using only markers These objects represent -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.

carbig 데이터 세트를 불러옵니다.

load carbig

AccelerationMPG와 비교하는 산점도 플롯을 생성합니다. Origin을 기준으로 데이터 점을 그룹화합니다.

h = gscatter(Acceleration,MPG,Origin)
h = 
  7x1 Line array:

  Line    (USA)
  Line    (France)
  Line    (Japan)
  Line    (Germany)
  Line    (Sweden)
  Line    (Italy)
  Line    (England)

(Japan)으로 명명된 그룹에 해당하는 Line 객체를 표시합니다.

jgroup = h(3)
jgroup = 
  Line (Japan) with properties:

              Color: [0.9290 0.6940 0.1250]
          LineStyle: 'none'
          LineWidth: 0.5000
             Marker: '.'
         MarkerSize: 15
    MarkerFaceColor: 'none'
              XData: [15 14.5000 14.5000 14 19 18 15.5000 13.5000 17 14.5000 16.5000 19 16.5000 13.5000 13.5000 19 21 16.5000 19 15 15.5000 16 13.5000 17 17.5000 17.4000 17 16.4000 15.5000 18.5000 16.8000 18.2000 16.4000 14.5000 ... ] (1x79 double)
              YData: [24 27 27 25 31 35 24 19 28 23 27 20 22 18 20 31 32 31 32 24 26 29 24 24 33 33 32 28 19 31.5000 33.5000 26 30 22 21.5000 32.8000 39.4000 36.1000 27.5000 27.2000 21.1000 23.9000 29.5000 34.1000 31.8000 38.1000 ... ] (1x79 double)

  Use GET to show all properties

Japan 그룹의 마커 색을 검은색으로 변경합니다.

jgroup.Color = 'k';

Figure contains an axes object. The axes object with xlabel Acceleration, ylabel MPG contains 7 objects of type line. One or more of the lines displays its values using only markers These objects represent USA, France, Japan, Germany, Sweden, Italy, England.

입력 인수

모두 축소

x축 값으로, 숫자형 벡터로 지정됩니다. xy와 크기가 같아야 합니다.

데이터형: single | double

y축 값으로, 숫자형 벡터로 지정됩니다. yx와 크기가 같아야 합니다.

데이터형: single | double

그룹화 변수로, categorical형 벡터, 논리형 벡터, 숫자형 벡터, 문자형 배열, string형 배열, 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 또는, g는 여러 그룹화 변수를 포함하는 셀형 배열일 수 있습니다(예: {g1 g2 g3}). 이 경우 모든 그룹화 변수에 대한 공통된 값을 가지는 관측값은 동일한 그룹에 속합니다. 동일한 그룹에 속하는 점은 같은 마커 색, 기호, 크기로 산점도 플롯에 표시됩니다.

g의 행 개수는 x의 길이와 같아야 합니다.

예: species

예: {Cylinders,Origin}

데이터형: categorical | logical | single | double | char | string | cell

마커 색으로, 짧은 색 이름의 문자 벡터나 string형 스칼라 또는 RGB 3색으로 구성된 행렬로 지정됩니다.

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

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

짧은 이름RGB 3색실제 표시 색
'r'[1 0 0]

Sample of the color red

'g'[0 1 0]

Sample of the color green

'b'[0 0 1]

Sample of the color blue

'c'[0 1 1]

Sample of the color cyan

'm'[1 0 1]

Sample of the color magenta

'y'[1 1 0]

Sample of the color yellow

'k'[0 0 0]

Sample of the color black

'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

clr의 디폴트 값은 MATLAB 디폴트 색을 포함하는 RGB 3색의 행렬입니다.

g의 모든 고유한 그룹에 대해 색을 충분히 지정하지 않을 경우, gscatter 함수는 clr에 지정된 값을 순환적으로 적용합니다. 고유한 그룹 개수가 디폴트 색 개수(7개)를 초과하는데 디폴트 값을 사용하면, gscatter 함수는 필요한 만큼 디폴트 색을 순환적으로 적용합니다.

예: 'rgb'

예: [0 0 1; 0 0 0]

데이터형: char | string | single | double

마커 기호로, plot 함수에서 인식할 수 있는 기호로 구성된 문자형 벡터 또는 string형 스칼라로 지정됩니다. 다음 표에는 사용 가능한 마커 기호가 정리되어 있습니다.

설명
'o'
'+'플러스 기호
'*'별표
'.'
'x'십자
's'정사각형
'd'다이아몬드
'^'위쪽 방향 삼각형
'v'아래쪽 방향 삼각형
'>'오른쪽 방향 삼각형
'<'왼쪽 방향 삼각형
'p'오각별(펜타그램)
'h'육각별(헥사그램)
'none'마커 없음

모든 그룹에 대해 값을 충분히 지정하지 않을 경우, gscatter는 필요한 만큼 지정된 값을 순환적으로 적용합니다.

예: 'o+*v'

데이터형: char | string

마커 크기로, 포인트 단위의 양의 숫자형 벡터로 지정됩니다. 디폴트 값은 관측값의 개수에 따라 결정됩니다. 모든 그룹에 대해 값을 충분히 지정하지 않을 경우, gscatter는 필요한 만큼 지정된 값을 순환적으로 적용합니다.

예: [6 12]

데이터형: single | double

범례를 포함할지 여부를 제어하는 옵션으로, 'on' 또는 'off'로 지정됩니다. 기본적으로, 범례는 그래프에 표시됩니다.

x축 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

데이터형: char | string

y축 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

데이터형: char | string

플롯의 좌표축으로, Axes 또는 UIAxes 객체로 지정됩니다. ax를 지정하지 않을 경우 gscatter는 현재 좌표축을 사용하여 플롯을 생성합니다. axes 객체를 생성하는 방법에 대한 자세한 내용은 axesuiaxes를 참조하십시오.

출력 인수

모두 축소

그래픽스 핸들로, Line 객체로 구성된 배열로 반환됩니다. 각 Line 객체는 g에 포함된 그룹 중 하나에 대응됩니다. 점 표기법을 사용하여 line 객체의 속성을 쿼리하고 설정할 수 있습니다. Line 객체 속성의 목록은 Line 속성을 참조하십시오.

버전 내역

R2006a 이전에 개발됨

모두 확장