이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
heatmap
히트맵 차트 생성
구문
설명
테이블 데이터
행렬 데이터
추가 옵션
heatmap(___,
는 하나 이상의 이름-값 쌍 인수를 사용하여 히트맵에 대한 추가 옵션을 지정합니다. 다른 모든 입력 인수 다음에 옵션을 지정합니다. 속성 목록은 HeatmapChart 속성를 참조하십시오.Name,Value
)
heatmap(
는 parent
,___)parent
로 지정된 Figure, 패널 또는 탭에 히트맵을 만듭니다.
은 h
= heatmap(___)HeatmapChart
객체를 반환합니다. 차트를 생성한 후에 속성을 수정하려면 h
를 사용하십시오. 속성 목록은 HeatmapChart 속성를 참조하십시오.
예제
테이블 형식 데이터에서 히트맵 생성하기
환자에 대한 데이터 테이블에서 히트맵을 만듭니다.
patients
데이터 세트를 불러오고 작업 공간에 불러온 변수 일부로 테이블을 만듭니다. 그런 다음 Smoker
값과 SelfAssessedHealthStatus
값의 쌍이 동일한 경우의 환자 수를 모두 셉니다.
load patients tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,... Smoker,Weight,Location); h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus');
히트맵 레이블 다시 정렬하기
히트맵을 만들고 y축의 레이블을 다시 정렬합니다.
patients
데이터 세트를 불러오고 불러온 데이터에서 히트맵을 만듭니다. 변수 h
에 HeatmapChart
객체를 할당합니다.
load patients tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,... Smoker,Weight,Location); h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus');
y축의 레이블을 다시 정렬합니다.
h.YDisplayData = {'Excellent','Good','Fair','Poor'};
또는 데이터를 categorical형 데이터로 변경한 다음 reordercats
함수를 사용하여 범주의 순서를 변경하는 방식으로 레이블의 순서를 변경할 수 있습니다. 마찬가지로, addcats
, removecats
또는 renamecats
함수를 각각 사용하여 히트맵 레이블을 추가하거나, 제거하거나, 이름을 바꿀 수 있습니다.
히트맵 색에 사용할 테이블 변수 지정하기
히트맵을 만들고 히트맵 셀 색을 결정할 때 사용할 테이블 변수를 지정합니다.
patients
데이터 세트를 불러오고 불러온 데이터에서 히트맵을 만듭니다. ColorVariable
옵션을 'Age'
로 설정하여 Smoker
값과 SelfAssessedHealthStatus
값의 특정 쌍별로 환자의 평균 나이를 사용하여 각 셀에 색을 채웁니다.
load patients tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,... Smoker,Weight,Location); h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus',... 'ColorVariable','Age');
색 데이터의 계산 방법 지정하기
히트맵을 만들고 히트맵 셀 색을 결정할 때 사용할 테이블 변수와 계산 방법을 지정합니다.
환자 데이터 세트를 불러오고 불러온 데이터에서 히트맵을 만듭니다. Smoker
값과 SelfAssessedHealthStatus
값의 특정 쌍별로 환자 나이의 중앙값을 사용하여 각 셀에 색을 채웁니다. ColorVariable
옵션을 'Age'
로 지정하고 ColorMethod
옵션을 'median'
으로 지정합니다.
load patients tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,... Smoker,Weight,Location); h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus',... 'ColorVariable','Age','ColorMethod','median');
행렬 데이터에서 히트맵 만들기
데이터로 구성된 행렬을 만듭니다. 그런 다음 행렬 값의 히트맵을 만듭니다. x축과 y축에 디폴트 레이블이 1, 2, 3과 같은 식으로 표시됩니다.
cdata = [45 60 32; 43 54 76; 32 94 68; 23 95 58]; h = heatmap(cdata);
사용자 지정 축 레이블을 사용하여 행렬 데이터에서 히트맵 만들기
데이터로 구성된 행렬을 만듭니다. 그런 다음 행렬 값의 히트맵을 만듭니다. 처음 2개의 입력 인수를 원하는 레이블로 지정하여 x축과 y축에 사용자 지정 레이블을 사용합니다. HeatmapChart
객체의 속성을 설정하여 제목과 축 레이블을 지정합니다.
cdata = [45 60 32; 43 54 76; 32 94 68; 23 95 58]; xvalues = {'Small','Medium','Large'}; yvalues = {'Green','Red','Blue','Gray'}; h = heatmap(xvalues,yvalues,cdata); h.Title = 'T-Shirt Orders'; h.XLabel = 'Sizes'; h.YLabel = 'Colors';
제목의 그리스 문자에 LaTeX 사용하기
R2023b 이후
제목, 축 레이블 또는 데이터팁에 LaTeX(또는 TeX) 마크업을 사용하려면 HeatmapChart
객체의 Interpreter
속성을 설정합니다.
예를 들어, LaTeX을 사용하여 그리스 문자를 표시하는 제목이 있는 히트맵 차트를 만들어 보겠습니다. 차트를 만들 때 Interpreter
속성을 "latex"
으로 설정합니다. 그런 다음 title
함수를 호출할 때 마크업을 포함시킵니다.
heatmap(randi(100,5,3),Interpreter="latex") title("$\hat{\psi_1}$ Values for ${1\le\alpha\le3}$")
각 행 또는 열에 색 정규화하기
히트맵을 만들고 ColorScaling
속성을 설정하여 각 열 또는 행에 색을 정규화합니다.
샘플 파일 outages.csv
를 테이블로 읽어 들입니다. 샘플 파일에는 미국 내의 정전 기록을 나타내는 데이터가 들어 있습니다. 테이블에는 Region
, OutageTime
, Loss
, Customers
, RestorationTime
, Cause
의 6개 열이 포함되어 있습니다. 각 열에서 처음 5개 행을 표시합니다.
T = readtable('outages.csv');
T(1:5,:)
ans=5×6 table
Region OutageTime Loss Customers RestorationTime Cause
_____________ ________________ ______ __________ ________________ ___________________
{'SouthWest'} 2002-02-01 12:18 458.98 1.8202e+06 2002-02-07 16:50 {'winter storm' }
{'SouthEast'} 2003-01-23 00:49 530.14 2.1204e+05 NaT {'winter storm' }
{'SouthEast'} 2003-02-07 21:15 289.4 1.4294e+05 2003-02-17 08:14 {'winter storm' }
{'West' } 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'}
{'MidWest' } 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm' }
x축에 여러 지역을 표시하고 y축에 여러 가지 정전 원인을 표시하는 히트맵을 만듭니다. 각 셀에는 특정 원인으로 인해 각 지역에서 발생한 정전의 횟수가 표시됩니다.
h = heatmap(T,'Region','Cause');
각 열에서 색을 정규화합니다. 각 열에서 가장 작은 값은 컬러맵의 첫 번째 색에 매핑되고, 가장 큰 값은 마지막 색에 매핑됩니다. 마지막 색은 지역별로 정전을 가장 많이 유발한 원인을 나타냅니다.
h.ColorScaling = 'scaledcolumns';
이제 각 행에서 색을 정규화합니다. 각 행에서 가장 작은 값은 컬러맵의 첫 번째 색에 매핑되고, 가장 큰 값은 마지막 색에 매핑됩니다. 마지막 색은 각 원인으로 인해 정전이 가장 많이 발생한 지역을 나타냅니다.
h.ColorScaling = 'scaledrows';
사용자 지정 집계 방법을 사용하여 색 데이터 계산하기
히트맵을 만들고 사용자 지정 집계 방법을 사용하여 계산된 데이터로 셀에 색을 채웁니다. pivot
함수를 사용하여 색 데이터를 계산합니다.
샘플 파일 TemperatureData.csv
를 테이블로 읽어옵니다. 이 파일에는 Year
, Month
, Day
, TemperatureF
와 같은 4개 열이 포함되어 있습니다.
tbl = readtable('TemperatureData.csv');
pivot
함수를 사용하여 월과 연도의 각 조합에 대한 색 데이터를 최대 온도 형태로 계산합니다. 누락된 월과 연도 조합에는 NaN
을 사용합니다.
P = pivot(tbl,Columns="Month",Rows="Year",DataVariable="TemperatureF",Method=@(x) mean(x,"includenan"))
P=2×13 table
Year April August December February January July June March May November October September
____ ______ ______ ________ ________ _______ ______ ______ ______ ______ ________ _______ _________
2015 43.267 69.903 40.548 15.448 21.355 69.161 59.967 28.484 57.548 43.8 49.323 64.467
2016 42.267 NaN NaN 29.966 27.71 68.824 63.733 37.806 53.806 NaN NaN NaN
피벗 테이블에 있는 변수를 재배열합니다.
P = P(:,["Year" "January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December"]);
히트맵을 만들고, 계산된 데이터 값을 사용하여 히트맵 셀에 색을 채웁니다.
xvar = P.Properties.VariableNames(2:end);
yvar = string(P.(1));
cvar = P{:,2:end};
heatmap(xvar,yvar,cvar)
title("Maximum Temperatures (F)")
색 개수가 다른 히트맵 비교하기
히트맵 차트는 기본적으로 sky
컬러맵의 256샘플링을 사용합니다. Colormap
이름-값 인수를 지정하여 샘플링을 변경할 수 있습니다.
예를 들어, 2×1 타일 형식 차트 레이아웃에 두 개의 히트맵 차트를 만들어 보겠습니다. 위쪽 차트는 디폴트 256색 집합을 사용하고 아래쪽 차트는 2개의 색만 사용합니다.
tiledlayout(2,1,TileSpacing="compact") % Top chart with default colors nexttile heatmap(magic(10)) % Bottom chart with two colors nexttile heatmap(magic(10),Colormap=sky(2))
입력 인수
tbl
— 소스 테이블
테이블 | 타임테이블
소스 테이블로, table형 또는 timetable형으로 지정됩니다.
table
함수를 사용하여 작업 공간 변수로부터 테이블을 만들거나 readtable
함수를 사용하여 데이터를 테이블로 가져올 수 있습니다. timetable
함수를 사용하여 작업 공간 변수에서 타임테이블을 만들 수 있습니다.
소스 테이블은 HeatmapChart
객체의 SourceTable
속성에 저장됩니다.
xvar
— x축에 사용할 테이블 변수
문자형 벡터 | string형 스칼라 | 숫자형 스칼라 | 논리형 벡터
x축에 사용할 테이블 변수로, 다음 형식 중 하나로 지정됩니다.
변수 이름 중 하나를 나타내는 문자형 벡터 또는 string형 스칼라. 예를 들어,
heatmap(tbl,'HealthStatus','Gender')
는'HealthStatus'
라는 이름의 변수를 x축 데이터로 선택합니다.테이블 변수 인덱스를 나타내는 숫자형 스칼라. 예를 들어,
heatmap(tbl,2,3)
은 테이블의 두 번째 변수를 x축 데이터로 선택합니다.true
요소를 하나 포함하는 논리형 벡터.
테이블 변수에 연결되는 값은 categorical
함수가 허용하는 여러 범주의 유한한 세트로 그룹화되어야 합니다. 값이 유한한 범주 세트로 그룹화되지 않은 경우 discretize
함수를 사용하여 그룹화하십시오.
x축의 레이블은 사전순으로 표시됩니다. categorical형 배열을 사용하여 레이블을 사용자 지정할 수 있습니다. 예제는 테이블 형식 데이터에서 히트맵 생성하기 항목을 참조하십시오.
HeatmapChart
객체의 XVariable
속성에는 선택된 변수가 저장됩니다.
yvar
— y축에 사용할 테이블 변수
문자형 벡터 | string형 스칼라 | 숫자형 스칼라 | 논리형 벡터
y축에 사용할 테이블 변수로, 다음 형식 중 하나로 지정됩니다.
변수 이름 중 하나를 나타내는 문자형 벡터 또는 string형 스칼라. 예를 들어,
heatmap(tbl,'HealthStatus','Gender')
는'Gender'
라는 이름의 변수를 y축 데이터로 선택합니다.테이블 변수 인덱스를 나타내는 숫자형 스칼라. 예를 들어,
heatmap(tbl,2,3)
은 테이블의 세 번째 변수를 y축 데이터로 선택합니다.true
요소를 하나 포함하는 논리형 벡터.
테이블 변수에 연결되는 값은 categorical
함수가 허용하는 여러 범주의 유한한 세트로 그룹화되어야 합니다. 값이 유한한 범주 세트로 그룹화되지 않은 경우 discretize
함수를 사용하여 그룹화하십시오.
y축의 레이블은 사전순으로 표시됩니다. categorical형 배열을 사용하여 레이블을 사용자 지정할 수 있습니다. 예제는 테이블 형식 데이터에서 히트맵 생성하기 항목을 참조하십시오.
HeatmapChart
객체의 YVariable
속성에는 선택된 변수가 저장됩니다.
cvar
— 색 데이터로 사용할 테이블 변수
문자형 벡터 | string형 스칼라 | 숫자형 스칼라 | 논리형 벡터
색 데이터로 사용할 테이블 변수로, 다음 형식 중 하나로 지정됩니다.
변수 이름 중 하나를 나타내는 문자형 벡터 또는 string형 스칼라. 예를 들어,
heatmap(__,'ColorVariable','HealthStatus')
는'HealthStatus'
라는 이름의 변수를 y축 데이터로 선택합니다.테이블 변수 인덱스를 나타내는 숫자형 스칼라. 예를 들어,
heatmap(__,'ColorVariable',1)
은 테이블의 세 번째 변수를 y축 데이터로 선택합니다.true
요소를 하나 포함하는 논리형 벡터.
테이블 변수에 연결되는 값은 숫자형이거나 logical
형이어야 합니다.
행렬 데이터를 사용할 경우 속성값은 빈 []
입니다. HeatmapChart
객체의 ColorVariable
속성에는 선택된 변수가 저장됩니다. ColorData
속성에는 선택된 변수를 기준으로 데이터가 채워집니다.
기본적으로, heatmap
은 평균 집계를 기준으로 색 데이터를 계산합니다. 계산 방법을 변경하려면 ColorMethod
속성을 설정하십시오.
cdata
— 색 데이터
행렬
히트맵 셀의 색 데이터로, 행렬로 지정됩니다.
이 값은 HeatmapChart
객체의 ColorData
속성에 저장됩니다.
예: [40 24 68; 68 37 58; 49 23 46]
xvalues
— x축에 표시되는 값
categorical형 배열 | string형 배열 | 숫자형 배열 | 문자형 벡터로 구성된 셀형 배열
x축에 표시되는 값으로, categorical형 배열, string형 배열, 숫자형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
예: {'small','medium','large'}
예: categorical({'small','medium','large'})
yvalues
— y축에 표시되는 값
categorical형 배열 | string형 배열 | 숫자형 배열 | 문자형 벡터로 구성된 셀형 배열
y축에 표시되는 값으로, categorical형 배열, string형 배열, 숫자형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
예: {'small','medium','large'}
예: categorical({'small','medium','large'})
parent
— 부모 컨테이너
Figure
객체 | Panel
객체 | Tab
객체 | TiledChartLayout
객체 | GridLayout
객체
부모 컨테이너로, Figure
, Panel
, Tab
, TiledChartLayout
또는 GridLayout
객체로 지정됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: heatmap(tbl,xvar,yvar,'ColorVariable','Temperatures','ColorMethod','median')
참고
여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 HeatmapChart 속성를 참조하십시오.
Title
— 차트 제목
문자형 벡터 | 문자형 벡터로 구성된 셀형 배열 | string형 배열 | categorical형 배열
차트 제목으로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 배열 또는 categorical형 배열로 지정됩니다.
예: h = heatmap(rand(10,10),'Title','My Title Text')
예: h.Title = 'My Title Text';
여러 줄로 된 제목을 만들려면 문자형 벡터로 구성된 셀형 배열 또는 string형 배열을 지정하십시오. 배열 내 각 요소는 텍스트의 한 줄에 해당합니다.
예: h.Title = {'My','Title'};
제목을 categorical형 배열로 지정할 경우 MATLAB®은 배열의 범주가 아닌 배열의 값을 사용합니다.
테이블 형식 데이터를 사용하여 차트를 만드는 경우 디폴트 차트의 제목이 자동 생성됩니다. 제목을 만들지 않으려면 ''
를 지정하십시오.
기본적으로 히트맵은 사용자가 지정한 텍스트에 대해 TeX 마크업 중 일부를 사용할 수 있도록 지원합니다. TeX 마크업을 사용하여 위 첨자와 아래 첨자를 추가하고, 글꼴 유형과 색을 수정하며, 텍스트에 특수 문자를 포함시킬 수 있습니다. 일반 텍스트에서 밑줄(_)과 같은 TeX 마크업 문자를 사용하려면 포함하려는 문자 앞에 백슬래시(\)를 삽입하십시오. 백슬래시는 TeX 이스케이프 문자입니다. 자세한 내용은 text 객체의 Interpreter 속성을 참조하십시오.
ColorMethod
— 색 데이터 계산 방법
'count'
| 'mean'
| 'median'
| 'sum'
| 'max'
| 'min'
| 'none'
ColorData
에 저장되는 색 데이터 값을 계산하는 방법으로, 'count'
, 'mean'
, 'median'
, 'sum'
, 'max'
, 'min'
또는 'none'
으로 지정됩니다.
테이블에서 세 번째 변수를 색 데이터에 사용하지 않으려면 메서드를 'count'
로 지정하십시오. 메서드가 'count'
인 경우 히트맵은 ColorVariable
속성을 사용하지 않으며 대신 x 값과 y 값의 각 쌍이 소스 테이블에 표시되는 횟수를 셉니다. 이 값은 테이블 형식 데이터를 사용하고 ColorVariable
파라미터를 지정하지 않을 때 디폴트 값입니다.
테이블에서 세 번째 변수를 색 데이터에 사용하려면 ColorVariable
속성을 원하는 변수로 설정하고 ColorMethod
속성을 다음 표에 나와 있는 방법 중 하나로 지정하십시오. x 값과 y 값의 각 쌍에 대해 아래 방법은 소스 테이블의 ColorVariable
열에 있는 해당 값을 사용하여 데이터를 계산합니다.
방법 | 설명 |
---|---|
'mean' | 평균값을 계산합니다. ColorVariable 속성을 지정하면 이 값을 디폴트 값으로 가집니다. |
'median' | 중앙값을 계산합니다. |
'sum' | 값의 합을 구합니다. |
'max' | 최댓값을 사용합니다. |
'min' | 최솟값을 사용합니다. |
'none' | 값을 그대로 사용합니다. 테이블에는 x 값과 y 값의 각 쌍이 하나만 포함될 수 있습니다. 이 값은 행렬 데이터를 사용할 때 디폴트 값입니다. |
집계된 데이터의 행렬을 직접 계산하려면 accumarray
함수를 사용하십시오. 행렬을 heatmap
함수의 입력값으로 지정하십시오.
예: h = heatmap(__,'ColorMethod','median')
예: h.ColorMethod = 'median'
출력 인수
세부 정보
독립형 시각화
독립형 시각화는 특수 목적으로 설계된 차트로, 다른 차트와 독립적으로 작동합니다. plot
이나 surf
와 같은 다른 차트와 달리 독립형 시각화에는 사전 구성된 axes 객체가 내장되어 있으며 일부 사용자 지정이 불가합니다. 독립형 시각화에는 다음과 같은 특성도 있습니다.
선, 패치, 곡면과 같은 다른 그래픽스 요소와 결합할 수 없습니다. 따라서
hold
명령은 지원되지 않습니다.gca
함수는 chart 객체를 현재 좌표축으로 반환할 수 있습니다.입력 인수로 axes 객체를 받는 여러 MATLAB 함수에 chart 객체를 전달할 수 있습니다. 예를 들어, chart 객체를
title
함수에 전달할 수 있습니다.
팁
히트맵의 데이터를 대화형 방식으로 살펴보려면 다음 옵션을 사용하십시오.
확대/축소 — 스크롤 휠이나 + 키와 - 키를 사용하여 확대/축소합니다.
패닝 — 히트맵을 클릭하여 끌어서 놓거나 화살표 키를 사용하여 행이나 열을 패닝합니다.
데이터팁 — 히트맵 위에 커서를 올려놓으면 데이터팁이 표시됩니다.
행과 열 재배열 — 행 레이블이나 열 레이블을 다른 위치로 이동하려면 클릭하여 끌어서 놓습니다.
값 정렬 — 행 레이블이나 열 레이블 위에 커서를 올려놓으면 나타나는 아이콘을 클릭합니다. 한 번 클릭하면 값이 오름차순으로 정렬되고, 두 번 클릭하면 내림차순으로 정렬되고, 세 번 클릭하면 순서가 재설정됩니다.
테이블에서 히트맵 차트를 만든 경우 데이터팁을 사용자 지정할 수 있습니다.
데이터팁에서 행을 추가하거나 제거하려면 차트의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 데이터팁 수정을 가리키십시오. 그런 다음 변수를 선택하거나 선택 취소합니다.
여러 행을 추가하거나 제거하려면 차트를 마우스 오른쪽 버튼으로 클릭하고 데이터팁 수정을 가리킨 다음 더 보기를 선택하십시오. 그런 다음 >> 버튼을 클릭하여 변수를 추가하거나 << 버튼을 클릭하여 제거합니다.
버전 내역
R2017a에 개발됨R2019a: 히트맵이 TeX 마크업을 사용하여 텍스트 해석
R2019a부터, 히트맵은 리터럴 문자를 표시하는 대신 TeX 마크업을 사용하여 텍스트를 해석합니다. 일반 텍스트에서 밑줄(_)과 같은 TeX 마크업 문자를 사용하려면 포함하려는 문자 앞에 백슬래시(\)를 삽입하십시오. 백슬래시는 TeX 이스케이프 문자입니다. TeX 마크업 사용에 대한 자세한 내용은 text 객체의 Interpreter 속성을 참조하십시오.
참고 항목
함수
속성
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)