![]() |
踢足球的松鼠 · Invalid length ...· 5 月前 · |
![]() |
爱运动的乌龙茶 · 自研请求体和签名机制 - 阿里云SDK - 阿里云· 5 月前 · |
![]() |
欢乐的足球 · LabVIEW在快速传输速率下丢失UDP数据 ...· 5 月前 · |
![]() |
侠义非凡的吐司 · JetBrains 的全新数据科学 ...· 6 月前 · |
![]() |
严肃的闹钟 · masm如何把asm程序编译成bin - ...· 8 月前 · |
创建热图
heatmap(
___
,
使用一个或多个名称-值对组参量指定热图的其他选项。请在所有其他输入参量之后指定这些选项。有关属性列表,请参阅
HeatmapChart 属性
。
Name,Value
)
heatmap(
在由
parent
,
___
)
parent
指定的图窗、面板或选项卡上创建热图。
返回
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
数据集,并基于这些数据创建一个热图。将
HeatmapChart
对象赋给变量
h
。
load patients tbl = table(LastName,Age,Gender,SelfAssessedHealthStatus,... Smoker,Weight,Location); h = heatmap(tbl,'Smoker','SelfAssessedHealthStatus');
重新排列 y 轴上的标签。
h.YDisplayData = {'Excellent','Good','Fair','Poor'};
您也可以通过将数据更改为分类数据,然后使用
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');
创建一个热图,并指定用来确定热图单元格颜色的表变量和计算方法。
加载 patients 数据集,并基于这些数据创建一个热图。使用具有一组特定
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);
创建一个数据矩阵。然后创建矩阵值的热图。通过将前两个输入参量指定为所需的标签,在
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';
自 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
。显示每一列的前五行。
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
。
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 种颜色,下图仅使用两种颜色。
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
函数根据工作区变量创建表,也可以使用
readtable
函数以表的形式导入数据。您可以使用
timetable
函数根据工作区变量创建时间表。
源表存储在
HeatmapChart
对象的
SourceTable
属性中。
xvar
—
x 轴的表变量
x 轴的表变量,指定为下列形式之一:
指示变量名称之一的字符向量或字符串标量。例如,
heatmap(tbl,'HealthStatus','Gender')
为 x 轴选择名为
'HealthStatus'
的变量。
指示表变量索引的数值标量。例如,
heatmap(tbl,2,3)
为 x 轴选择表中的第二个变量。
包含一个
true
元素的逻辑向量。
与表变量关联的值必须组合为
categorical
函数能够接受的有限离散类别集合。如果这些值没有组合为有限类别集合,请使用
discretize
函数将它们组合在一起。
x 轴上显示的标签按字母顺序排列。您可以使用分类数组自定义标签。有关示例,请参阅 基于表格数据创建热图 。
选定变量存储在
HeatmapChart
对象的
XVariable
属性中。
yvar
—
y 轴的表变量
y 轴的表变量,指定为下列形式之一:
指示变量名称之一的字符向量或字符串标量。例如,
heatmap(tbl,'HealthStatus','Gender')
为 y 轴选择名为
'Gender'
的变量。
指示表变量索引的数值标量。例如,
heatmap(tbl,2,3)
为 y 轴选择表中的第三个变量。
包含一个
true
元素的逻辑向量。
与表变量关联的值必须组合为
categorical
函数能够接受的有限离散类别集合。如果这些值没有组合为有限类别集合,请使用
discretize
函数将它们组合在一起。
y 轴上显示的标签按字母顺序排列。您可以使用分类数组自定义标签。有关示例,请参阅 基于表格数据创建热图 。
选定变量存储在
HeatmapChart
对象的
YVariable
属性中。
cvar
—
颜色数据的表变量
颜色数据的表变量,指定为下列形式之一:
指示变量名称之一的字符向量或字符串标量。例如,
heatmap(__,'ColorVariable','HealthStatus')
为 y 轴选择名为
'HealthStatus'
的变量。
指示表变量索引的数值标量。例如,
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 轴上显示的值
x 轴上显示的值,指定为分类数组、字符串数组、数值数组或字符向量元胞数组。
示例:
{'small','medium','large'}
示例:
categorical({'small','medium','large'})
yvalues
—
y 轴上显示的值
y 轴上显示的值,指定为分类数组、字符串数组、数值数组或字符向量元胞数组。
示例:
{'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
—
图标题
图标题,指定为字符向量、字符向量元胞数组、字符串数组或分类数组。
示例:
h = heatmap(rand(10,10),'Title','My Title Text')
示例:
h.Title = 'My Title Text';
要创建一个多行标题,请指定字符向量元胞数组或字符串数组。数组中的每个元素对应一行文本。
示例:
h.Title = {'My','Title'};
如果将标题指定为分类数组,MATLAB ® 将使用数组中的值,而不是类别。
如果使用表格数据创建图,默认图具有自动生成的标题。如果您不需要标题,请指定
''
。
默认情况下,热图支持对您指定的文本使用某些 TeX 标记。使用 TeX 标记可添加下标和上标,修改字体类型和颜色,并在文本中包括特殊字符。如果要在常规文本中使用 TeX 标记字符,如下划线 (_),请在要包含的字符前插入反斜杠 (\)。反斜杠是 TeX 转义字符。有关详细信息,请参阅文本对象的 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
等其他图不同,独立可视化内置一个预配置的坐标区对象,并且某些自定义不可用。独立可视化还具有以下特性:
它无法与其他图形元素(如线条、补片或曲面)组合。因此,不支持
hold
命令。
gca
函数可以将图对象返回为当前坐标区。
您可以将图对象传递给许多 MATLAB 函数,这些函数接受坐标区对象作为输入参量。例如,您可以将图对象传递给
title
函数。
要以交互方式浏览热图中的数据,请使用以下选项。
缩放 - 使用滚轮或 + 和 - 键进行缩放。
平移 - 点击并拖动热图或使用箭头键在行或列之间平移。
数据提示 - 将光标悬停在热图上可显示数据提示。
重新排列行和列 - 点击并拖动行或列标签可将其移动到其他位置。
排序值 - 点击将光标悬停在行或列标签上时显示的图标。第一次点击按升序对值排序,第二次点击按降序对值排序,第三次点击将重置顺序。
如果基于表创建热图,则可以自定义其数据提示。
要在数据提示中添加或删除行,请右键点击图上的任意位置,然后指向 修改数据提示 。然后,选择或取消选择一个变量。
要添加或删除多行,请右键点击图,指向 修改数据提示 ,然后选择 更多 。然后,通过点击 >> 添加变量,或通过点击 << 删除变量。
从 R2019a 开始,热图使用 TeX 标记解释文本,而不是显示字面字符。如果要在常规文本中使用 TeX 标记字符,如下划线 (_),请在要包含的字符前插入反斜杠 (\)。反斜杠是 TeX 转义字符。有关使用 TeX 标记的详细信息,请参阅文本对象的 Interpreter 属性。
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.