glyphplot
그림문자 플롯
구문
설명
glyphplot(
는 행렬 X
)X
의 다변량 데이터로부터 그림문자 플롯을 만듭니다. 기본적으로 glyphplot
은 별 플롯을 만듭니다. 별 플롯은 각 관측값을 별로 나타내며, 이때 축(spoke) i의 길이는 해당 관측값에 대한 변수 i의 값에 비례합니다. 기본적으로 glyphplot
은 플로팅하기 전에 X
의 열을 표준화합니다.
구문 glyphplot(X,Glyph="star")
는 구문 glyphplot(X)
와 동일하다는 점에 유의하십시오.
glyphplot(___,
는 위에 열거된 구문에 나와 있는 입력 인수 조합 외에 하나 이상의 이름-값 인수를 사용하여 옵션을 지정합니다. 예를 들어 플로팅하기 전에 주성분 분석(PCA)을 사용하여 Name=Value
)X
의 데이터를 표준화할 수 있습니다.
예제
별 플롯을 사용하여 다차원 데이터를 시각화합니다. 각 관측값의 별이 어떻게 다른지 살펴봅니다.
세 가지 붓꽃 종에 대한 4가지 측정값(꽃받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비)을 포함하는 fisheriris
데이터 세트를 불러옵니다.
load fisheriris
행렬 meas
는 150개 꽃에 대한 4가지 측정값을 모두 포함합니다. 처음 8개 꽃에 대한 측정값을 표시합니다.
head(meas)
5.1000 3.5000 1.4000 0.2000 4.9000 3.0000 1.4000 0.2000 4.7000 3.2000 1.3000 0.2000 4.6000 3.1000 1.5000 0.2000 5.0000 3.6000 1.4000 0.2000 5.4000 3.9000 1.7000 0.4000 4.6000 3.4000 1.4000 0.3000 5.0000 3.4000 1.5000 0.2000
meas
의 붓꽃 측정값을 사용하여 그림문자 플롯을 만듭니다. 기본적으로 glyphplot
은 플로팅하기 전에 별 플롯을 만들고 측정값을 표준화합니다.
glyphplot(meas)
title("Glyph Plots for Iris Data")
각 별은 하나의 붓꽃에 대응되며 각 축(spoke)은 표준화된 붓꽃 측정값 중 하나에 대응됩니다. 축(spoke)의 길이는 해당 측정값의 상대 값을 나타냅니다.
첫 50개 꽃의 별은 다음 50개 꽃의 별보다 작은 경향이 있다는 점을 볼 수 있습니다. 마찬가지로, 앞쪽 두 세트에 해당하는 꽃의 별은 마지막 50개 꽃의 별보다 작은 경향이 있습니다.
상자 플롯을 사용하여 세 세트의 붓꽃에 대한 측정값의 분포를 비교합니다.
figure boxchart(meas(1:50,:)) hold on boxchart(meas(51:100,:)) boxchart(meas(101:end,:)) hold off legend(["Irises 1-50","Irises 51-100","Irises 101-150"]) xticklabels(["Sepal Length","Sepal Width","Petal Length","Petal Width"]) title("Box Plots for Iris Data")
상자 플롯을 보면 4가지의 측정값 중 3가지에 대해 첫 50개 붓꽃의 값은 다음 50개 붓꽃의 값보다 작은 경향이 있고 두 붓꽃 세트의 값은 마지막 50개 붓꽃의 값보다 작은 경향이 있습니다. 값이 작을수록 별 축(spoke)이 더 짧으므로 이 결과는 이전 별 플롯에서의 별의 상대적 크기를 설명하는 데 도움이 됩니다.
체르노프 얼굴 플롯을 사용하여 다차원 데이터를 시각화합니다. 데이터 변수에 대응되는 얼굴 특징을 지정합니다.
100대 자동차에 대한 측정값을 포함하는 carsmall
데이터 세트를 불러옵니다. Acceleration
변수, Displacement
변수, Horsepower
변수, MPG
변수, Weight
변수를 하나의 테이블에 결합합니다. 처음 12대 자동차에 대한 값을 표시합니다.
load carsmall
Tbl = table(Acceleration,Displacement,Horsepower,MPG,Weight);
head(Tbl,12)
Acceleration Displacement Horsepower MPG Weight ____________ ____________ __________ ___ ______ 12 307 130 18 3504 11.5 350 165 15 3693 11 318 150 18 3436 12 304 150 16 3433 10.5 302 140 17 3449 10 429 198 15 4341 9 454 220 14 4354 8.5 440 215 14 4312 10 455 225 14 4425 8.5 390 190 15 3850 17.5 133 115 NaN 3090 11.5 350 165 NaN 4142
Tbl
의 자동차 측정값을 사용하여 체르노프 얼굴 플롯을 만듭니다. 참고로 glyphplot
은 누락값이 있는 관측값을 플롯에서 제외하며 기본적으로 플로팅하기 전에 자동차 측정값을 표준화합니다.
glyphplot(Tbl{:,:},Glyph="face")
기본적으로 glyphplot
은 얼굴 크기를 사용하여 첫 번째 변수(여기서는 Acceleration
)를 나타냅니다. 이마에서 턱까지의 상대적인 호 길이는 두 번째 변수(Displacement
)를 나타내고, 이마 모양은 세 번째 변수(Horsepower
)를 나타내고, 턱 모양은 네 번째 변수(MPG
)를 나타내고, 눈 사이의 너비는 다섯 번째 변수(Weight
)를 나타냅니다. 자세한 내용은 얼굴 특징 항목을 참조하십시오.
MPG
변수가 표시되지 않고 턱 모양이 Weight
변수를 대신 나타내도록 위의 플롯을 변경합니다.
figure
glyphplot(Tbl{:,:},Glyph="face",Features=[1 2 3 0 4])
플롯에는 누락값이 포함된 MPG
변수를 표시되지 않으므로, 위의 플롯에서 생략된 관측값 중 일부가 포함됩니다.
그림문자 플롯에 그림문자의 레이아웃을 지정합니다. 그림문자 또는 그림문자 중심 위치를 플로팅하도록 그리드를 지정할 수 있습니다.
100대 자동차에 대한 측정값을 포함하는 carsmall
데이터 세트를 불러옵니다. Acceleration
변수, Displacement
변수, Horsepower
변수, MPG
변수, Weight
변수를 하나의 테이블에 결합합니다. 처음 12대 자동차에 대한 값을 표시합니다.
load carsmall
Tbl = table(Acceleration,Displacement,Horsepower,MPG,Weight);
head(Tbl,12)
Acceleration Displacement Horsepower MPG Weight ____________ ____________ __________ ___ ______ 12 307 130 18 3504 11.5 350 165 15 3693 11 318 150 18 3436 12 304 150 16 3433 10.5 302 140 17 3449 10 429 198 15 4341 9 454 220 14 4354 8.5 440 215 14 4312 10 455 225 14 4425 8.5 390 190 15 3850 17.5 133 115 NaN 3090 11.5 350 165 NaN 4142
Tbl
의 차량 측정값을 사용하여 별 플롯을 만듭니다. 별을 8×12 그리드에 배열합니다.
glyphplot(Tbl{:,:},Grid=[8 12])
그리드가 8×12이므로 플롯은 최대 96개 관측값을 표시할 수 있습니다. 이 경우 플롯은 누락값이 없는 Tbl
의 관측값을 모두 포함합니다. 기본적으로 glyphplot
은 Tbl
의 관측값의 인덱스를 사용하여 각 그림문자에 레이블을 지정합니다.
별을 2×2 그리드에 표시합니다. Page
이름-값 인수를 사용하여 표시할 별 세트를 지정합니다. 이 경우, 처음 두 개의 별 세트를 표시합니다.
figure tiledlayout(1,2) nexttile glyphplot(Tbl{:,:},Grid=[2 2]) title("First Set of Stars") nexttile glyphplot(Tbl{:,:},Grid=[2 2],Page=2) title("Second Set of Stars")
또한 Page
를 숫자형 벡터 또는 "all"
로 지정하여 여러 페이지를 연속해서 표시할 수 있습니다. glyphplot
을 호출한 후에 Enter 키를 눌러 그림문자로 이루어진 다음 페이지를 표시합니다.
또는 스크롤 막대가 있는 하나의 플롯에 모든 별 세트를 표시합니다.
glyphplot(Tbl{:,:},Grid=[2 2],Page="scroll")
그림문자의 그리드를 만드는 대신에 그림문자 중심 위치를 지정할 수 있습니다.
처음 4대 자동차에 대한 별을 플로팅합니다. 데이터 세트를 glyphplot
으로 전달하기 전에 이 데이터 세트를 표준화합니다. 그러지 않으면 이 함수는 플로팅하기 전에 전체 데이터 세트가 아니라 관측값 4개만 표준화합니다. 별 중심 위치를 행 i가 별 중심 i의 x축 값과 y축 값에 각각 대응되는 행렬로 지정합니다. 최대 별 반지름을 0.5
로 지정합니다. 별을 더 잘 비교하려면 그리드 선을 플롯에 추가합니다.
figure X = normalize(Tbl{:,:},"range",[0.1 0.9]); glyphplot(X(1:4,:),Centers=[1 2; 2 2; 1 1; 2 1],Radius=0.5, ... Standardize="off") grid on
그림문자 중심 위치를 지정하면 그림문자 플롯은 관측값 레이블을 포함하지 않습니다.
glyphplot
에 대한 호출에서 몇 가지 플롯 속성을 설정하고 그림문자 플롯을 만든 후에 그림문자 플롯의 모양을 수정하여 그림문자 플롯의 모양을 조정합니다.
세 가지 붓꽃 종에 대한 4가지 측정값(꽃받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비)을 포함하는 fisheriris
데이터 세트를 불러옵니다.
load fisheriris
행렬 meas
는 150개 꽃에 대한 4가지 측정값을 모두 포함합니다. 셀형 배열 species
는 150개 꽃 각각에 대한 종 이름을 포함합니다.
각 꽃에 대한 인덱스와 종 이름을 포함하는 label
이라는 이름의 새 변수를 만듭니다.
index = (1:150)';
label = index + "-" + species;
meas
의 붓꽃 측정값을 사용하여 별 플롯을 만들고 label
변수를 사용하여 각 별에 레이블을 지정합니다. 별의 색을 연한 녹색으로 지정합니다. glyphplot
에 대한 호출에서 선 속성(예: Color
)을 지정하면 함수는 플롯 내 모든 그림문자에 속성값을 설정합니다. 단순화하기 위해 꽃 49~60을 4×3 그리드에 표시합니다.
플롯을 만든 후에 플롯의 모양을 수정하려면 Line
객체와 Text
객체로 구성된 배열 s
를 반환합니다.
lightGreen = [0.4660 0.6740 0.1880]; s = glyphplot(meas,ObsLabels=label, ... Color=lightGreen, ... Grid=[4 3],Page=5);
꽃 51의 별에 대해 별 둘레의 색, 별 축(spoke)의 색, 별 레이블의 글꼴을 수정합니다.
purple = [0.4940 0.1840 0.5560];
lightBlue = [0.3010 0.7450 0.9330];
s(3,1).Color = purple;
s(3,2).Color = lightBlue;
s(3,3).FontWeight = "bold";
꽃 51의 별은 자주색 윤곽선, 연한 파란색 축(spoke), 굵은 레이블을 가지고 있습니다.
별 플롯 대신 얼굴 플롯을 사용하여 위의 플롯을 다시 만듭니다. Line
객체와 Text
객체로 구성된 배열 f
를 반환하고 수정합니다.
figure f = glyphplot(meas,Glyph="face",ObsLabels=label, ... Color=lightGreen, ... Grid=[4 3],Page=5); f(3,1).Color = purple; f(3,2).Color = lightBlue; f(3,3).FontWeight = "bold";
꽃 51의 얼굴은 자주색 얼굴, 연한 파란색 눈, 굵은 레이블을 가지고 있습니다.
입력 인수
다변량 데이터로, 숫자형 행렬로 지정됩니다. X
의 행은 관측값에 대응되고 열은 변수에 대응됩니다.
glyphplot
은 플로팅된 변수에서 누락값(NaN
)이 있는 관측값을 표시하지 않습니다.
예: rand(100,10)
데이터형: single
| double
플롯의 Figure로, Figure
객체로 지정됩니다. Figure
객체를 생성하는 방법에 대한 자세한 내용은 figure
를 참조하십시오.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: glyphplot(X,Grid=[3 2],Page=5)
를 지정하면 그림문자의 5번째 페이지가 3×2 레이아웃으로 표시됩니다.
그림문자의 레이아웃으로, 2개의 양의 정수로 구성된 벡터로 지정됩니다. 첫 번째 값은 플롯에서 그림문자의 행 개수를 나타내고 두 번째 값은 열 개수를 나타냅니다.
일부 그리드 요소는 관측값 개수가 그리드 레이아웃의 요소 개수(즉, 행 개수와 열 개수의 곱)보다 작으면 비어 있습니다. 관측값 개수가 그리드 요소 개수보다 많으면 Page
이름-값 인수를 사용하여 표시할 그림문자의 페이지를 지정할 수 있습니다.
그리드(Grid
) 또는 그림문자 중심(Centers
)을 사용하여 그림문자의 레이아웃을 지정합니다(단, 둘 다 사용할 수는 없음). 예제는 그림문자의 레이아웃 지정하기 항목을 참조하십시오.
예: Grid=[5 10]
데이터형: single
| double
표시할 그림문자의 페이지로, 숫자형 벡터, "all"
또는 "scroll"
로 지정됩니다.
Page
가 숫자형 벡터인 경우,Enter
키를 누르면glyphplot
은 지정된 페이지를 연속해서 표시합니다.Page
가"all"
인 경우,Enter
키를 누르면glyphplot
은 모든 페이지를 연속해서 표시합니다.Page
가"scroll"
인 경우,glyphplot
은 스크롤 막대가 있는 하나의 플롯을 표시합니다. 스크롤 막대를 사용하여 그림문자의 다른 페이지를 표시할 수 있습니다.
그리드(Grid
)를 사용하여 그림문자의 레이아웃을 지정하지 않는 한, glyphplot
은 이 값을 무시합니다.
예: Page=2
예: Page=1:4
예: Page="scroll"
데이터형: single
| double
| char
| string
그림문자 중심 위치로, 열이 2개인 숫자형 행렬로 지정됩니다. Centers
의 각 행은 X
의 관측값에 대응됩니다. 첫 번째 요소는 중심의 x축 좌표에 대응되고 두 번째 요소는 y축 좌표에 대응됩니다.
그리드(Grid
) 또는 그림문자 중심(Centers
)을 사용하여 그림문자의 레이아웃을 지정합니다(단, 둘 다 사용할 수는 없음). 예제는 그림문자의 레이아웃 지정하기 항목을 참조하십시오. 그리드(Grid
)를 사용하여 그림문자의 레이아웃을 지정하면 glyphplot
은 Centers
값을 무시합니다.
예: Centers=[1 1; 1 2; 1 3; 1 4; 2 1; 2 2; 2 3; 2 4]
데이터형: single
| double
최대 그림문자 반지름으로, 양의 스칼라로 지정됩니다. 함수는 가장 큰 그림문자가 Radius
값과 같은 반지름을 갖도록 그림문자를 스케일링합니다.
그리드 중심(Centers
)을 사용하여 그림문자의 레이아웃을 지정하지 않는 한, glyphplot
은 이 값을 무시합니다.
예: Radius=0.5
데이터형: single
| double
플로팅하기 전에 사용할 데이터 표준화 방법으로, 다음 표에 나와 있는 값 중 하나로 지정됩니다.
값 | 설명 |
---|---|
"column" | X 의 각 열을 구간 [0,1]에 개별적으로 매핑합니다. |
"matrix" | 전체 행렬 X 를 구간 [0,1]에 매핑합니다. |
"pca" | X 를 고유값의 내림차순으로 주성분 점수로 변환하고 각각을 구간 [0,1]에 매핑합니다. |
"off" | 표준화되지 않은 X 데이터를 사용합니다. X 의 음수 값은 별 플롯을 해석 가능하지 않게 만들 수 있습니다. |
주성분 분석에 대한 자세한 내용은 pca
항목을 참조하십시오.
예: Standardize="pca"
데이터형: char
| string
변수 레이블로, 문자형 배열, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. glyphplot
의 그림문자 데이터팁에 변수 레이블이 포함됩니다. X
의 각 변수에 레이블을 지정합니다. 빈 레이블의 경우는 ""
또는 ''
를 사용합니다.
기본적으로 첫 번째 변수에는 Variable 1
, 두 번째 변수에는 Variable 2
와 같이 변수 레이블이 지정됩니다.
예: VarLabels=["Sepal Length","Sepal Width","Petal Length","Petal Width"]
데이터형: char
| string
| cell
출력 인수
플롯 수정에 사용할 객체로, Line
객체와 Text
객체로 구성된 배열로 반환됩니다.
별 플롯의 경우,
g(:,1)
은 별 둘레에 대한Line
객체를 포함하고g(:,2)
는 축(spoke)에 대한Line
객체를 포함합니다.얼굴 플롯의 경우,
g(:,1)
은 눈을 제외한 모든 얼굴 특징에 대한Line
객체를 포함하고g(:,2)
는 눈에 대한Line
객체를 포함합니다.
g(:,3)
은 존재하는 레이블에 대한 Text
객체를 포함합니다.
세부 정보
Glyph="face"
인 경우, X
의 열은 그림문자 플롯의 얼굴 특징에 대응됩니다. 다음 표에는 변수와 얼굴 특징 간의 디폴트 대응 관계가 설명되어 있습니다. features
인수를 사용하여 대응 관계를 변경할 수 있습니다. 함수는 사용되지 않은 특징을 디폴트 값으로 표시합니다.
열 | 얼굴 특징 |
---|---|
1 | 얼굴의 크기 |
2 | 이마에서 턱까지의 상대적인 호 길이 |
3 | 이마의 모양 |
4 | 턱의 모양 |
5 | 눈 사이의 너비 |
6 | 눈의 세로 위치 |
7 | 눈의 높이 |
8 | 눈의 너비 — 이 값은 눈썹의 너비에도 영향을 미칩니다. |
9 | 눈의 각도 — 이 값은 눈썹의 각도에도 영향을 미칩니다. |
10 | 눈썹의 세로 위치 |
11 | 눈썹의 너비(눈 기준) |
12 | 눈썹의 각도(눈 기준) |
13 | 눈동자의 방향 |
14 | 코의 길이 |
15 | 입의 세로 위치 |
16 | 입의 모양 |
17 | 입의 호 길이 |
팁
Line 속성에 나열된 속성에 대해 속성 이름과 값을 지정하여 그림문자의 특성을 수정할 수 있습니다. 그러나 이 방식을 사용하면 수정 사항이 플롯의 모든 그림문자에 적용됩니다. 특정 그림문자만 수정하려면
Line
객체를 반환하는 구문을 사용하고 점 표기법을 사용하여 각 객체 속성을 개별적으로 조정합니다. 예제는 그림문자 플롯 모양 조정하기 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨fig
입력 인수를 사용하여 플롯의 대상 Figure를 지정합니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)