scatterhistogram
创建带直方图的散点图

语法
说明
scatterhistogram(___,
使用一个或多个名称-值对组参数指定边缘带直方图的散点图的其他选项。请在所有其他输入参数之后指定这些选项。有关属性列表,请参阅 ScatterHistogramChart 属性。Name,Value
)
scatterhistogram(
在由 parent
,___)parent
指定的图窗、面板或选项卡上创建边缘带直方图的散点图。
返回 s
= scatterhistogram(___)ScatterHistogramChart
对象。创建对象后,使用 s
修改该对象。有关属性列表,请参阅 ScatterHistogramChart 属性。
示例
使用表格数据创建散点直方图
基于医疗患者数据表创建边缘带直方图的散点图。
加载 patients
数据集,并基于加载到工作区中的变量子集创建一个表。然后,创建一个散点直方图,用于将 Height
值与 Weight
值进行比较。
load patients tbl = table(LastName,Age,Gender,Height,Weight); s = scatterhistogram(tbl,'Height','Weight');
为分组数据指定表变量
使用 patients
数据集,创建一个边缘带直方图的散点图,并指定用于对数据进行分组的表变量。
加载 patients
数据集并基于数据创建一个散点直方图。比较患者的 Systolic
和 Diastolic
值。通过将 'GroupVariable'
名称-值对组参数设置为 'Smoker'
,根据患者的吸烟者状态对数据进行分组。
load patients tbl = table(LastName,Diastolic,Systolic,Smoker); s = scatterhistogram(tbl,'Diastolic','Systolic','GroupVariable','Smoker');
以可视方式呈现分类数据和数值数据
使用边缘带直方图的散点图,以可视方式呈现分类医疗数据和数值医疗数据。
加载 patients
数据集,并将 Smoker
数据转换为分类数组。然后,创建一个散点直方图,用于将患者的 Age
值与其吸烟者状态进行比较。生成的散点图包含重叠的数据点。然而,y 轴边缘直方图指示数据集中的非吸烟者远远多于吸烟者。
load patients Smoker = categorical(Smoker); s = scatterhistogram(Age,Smoker); xlabel('Age') ylabel('Smoker')
指定组数据和自定义图属性
使用鞋数据的数组创建一个边缘带直方图的散点图。根据鞋的颜色对数据进行分组,并自定义散点直方图的属性。
创建数据数组。然后,创建一个散点直方图以可视化数据。沿 x 轴和 y 轴使用自定义标签指定前两个输入参数的变量名称。您可以通过设置 ScatterHistogramChart
对象的属性来指定标题、轴标签和图例标题。
xvalues = [7 6 5 6.5 9 7.5 8.5 7.5 10 8]; yvalues = categorical({'onsale','regular','onsale','onsale', ... 'regular','regular','onsale','onsale','regular','regular'}); grpvalues = {'Red','Black','Blue','Red','Black','Blue','Red', ... 'Red','Blue','Black'}; s = scatterhistogram(xvalues,yvalues,'GroupData',grpvalues); s.Title = 'Shoe Sales'; s.XLabel = 'Shoe Size'; s.YLabel = 'Price'; s.LegendTitle = 'Shoe Color';
更改散点直方图中的颜色以匹配组标签。更改直方图中的 bin 宽度,便每个组的 bin 宽度都相同。
s.Color = {'Red','Black','Blue'}; s.BinWidths = 1;
指定散点直方图的外观
创建一个边缘带直方图的散点图。指定直方图的 bin 数和线宽、散点图的位置以及图例可见性。
加载 patients
数据集并基于数据创建一个散点直方图。比较患者的 Diastolic
和 Systolic
值,并根据患者的 SelfAssessedHealthStatus
值对数据进行分组。通过指定 NumBins
和 LineWidth
选项来调整直方图。使用 ScatterPlotLocation
选项将散点图放在图窗的 'NorthEast'
位置。通过将 LegendVisible
选项指定为 'on'
,确保图例可见。
load patients tbl = table(LastName,Diastolic,Systolic,SelfAssessedHealthStatus); s = scatterhistogram(tbl,'Diastolic','Systolic','GroupVariable','SelfAssessedHealthStatus', ... 'NumBins',4,'LineWidth',1.5,'ScatterPlotLocation','NorthEast','LegendVisible','on');
使用两个变量对数据进行分组
创建一个边缘带直方图的散点图。使用两个不同变量的组合对数据进行分组。
加载 patients
数据集。合并 Smoker
和 Gender
数据以创建一个新变量。创建一个散点直方图,用于比较患者的 Diastolic
和 Systolic
值。使用新变量 SmokerGender
对散点直方图中的数据进行分组。
load patients [idx,genderStatus,smokerStatus] = findgroups(string(Gender),string(Smoker)); SmokerGender = strcat(genderStatus(idx),"-",smokerStatus(idx)); s = scatterhistogram(Diastolic,Systolic,'GroupData',SmokerGender,'LegendVisible','on'); xlabel('Diastolic') ylabel('Systolic')
指定核密度直方图
创建一个具有核密度边缘直方图的散点图。此示例需要 Statistics and Machine Learning Toolbox™ 许可证。
加载 carsmall
数据集并基于数据创建一个散点直方图。比较 Horsepower
和 MPG
值。通过将 GroupVariable
选项设置为 Cylinders
,使用气缸数对数据进行分组。通过将 HistogramDisplayStyle
选项设置为 'smooth'
,指定核密度直方图。通过将 LineStyle
选项设置为 '-'
,为所有直方图指定实线。
load carsmall tbl = table(Horsepower,MPG,Cylinders); s = scatterhistogram(tbl,'Horsepower','MPG', ... 'GroupVariable','Cylinders','HistogramDisplayStyle','smooth', ... 'LineStyle','-');
输入参数
tbl
— 源表
表
源表,指定为表。
您可以使用 table
函数根据工作区变量创建表,也可以使用 readtable
函数以表的形式导入数据。
源表存储在 ScatterHistogramChart
对象的 SourceTable
属性中。
xvar
— x 轴的表变量
字符向量 | 字符串标量 | 数值标量 | 逻辑向量
x 轴的表变量,指定为下列形式之一:
字符向量或字符串标量 - 指示变量名称之一。例如,
scatterhistogram(tbl,'Acceleration','Horsepower')
为 x 轴选择名为'Acceleration'
的变量。数值标量 - 指示表变量索引。例如,
scatterhistogram(tbl,5,3)
为 x 轴选择表中的第五个变量。逻辑向量 - 包含一个
true
元素。
与表变量关联的值必须为数值类型或 categorical
类型。
ScatterHistogramChart
对象的 XVariable
属性存储选定变量的名称。
yvar
— y 轴的表变量
字符向量 | 字符串标量 | 数值标量 | 逻辑向量
y 轴的表变量,指定为下列形式之一:
字符向量或字符串标量 - 指示变量名称之一。例如,
scatterhistogram(tbl,'Acceleration','Horsepower')
为 y 轴选择名为'Horsepower'
的变量。数值标量 - 指示表变量索引。例如,
scatterhistogram(tbl,5,3)
为 y 轴选择表中的第三个变量。逻辑向量 - 包含一个
true
元素。
与表变量关联的值必须为数值类型或 categorical
类型。
ScatterHistogramChart
对象的 YVariable
属性存储选定变量的名称。
grpvar
— 用于对数据分组的表变量
字符向量 | 字符串标量 | 数值标量 | 逻辑向量
xvalues
— x 轴上显示的值
数值向量 | 分类数组
显示在 x 轴上的值,指定为数值向量或分类数组。
ScatterHistogramChart
对象的 XData
属性存储 xvalues
数据。
示例: [0.5 4.3 2.4 5.6 3.4]
示例: categorical({'small','medium','small','large','medium','small'})
yvalues
— y 轴上显示的值
数值向量 | 分类数组
显示在 y 轴上的值,指定为数值向量或分类数组。
ScatterHistogramChart
对象的 YData
属性存储 yvalues
数据。
示例: [0.5 4.3 2.4 5.6 3.4]
示例: categorical({'small','medium','small','large','medium','small'})
parent
— 父容器
Figure
对象 | Panel
对象 | Tab
对象 | TiledChartLayout
对象 | GridLayout
对象
父容器,指定为 Figure
、Panel
、Tab
、TiledChartLayout
或 GridLayout
对象。
名称-值参数
将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参数名称,Value
是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: scatterhistogram(tbl,xvar,yvar,'GroupVariable',grpvar,'HistogramDisplayStyle','stairs')
将 grpvar
指定为分组变量,并在散点图旁边显示阶梯图。
注意
此处所列的属性只是一部分。有关完整列表,请参阅 ScatterHistogramChart 属性。
Title
— 图标题
''
(默认) | 字符向量 | 字符串数组 | 字符向量元胞数组 | 分类数组
图标题,指定为字符向量、字符串数组、字符向量元胞数组或分类数组。默认图没有标题。
要创建一个多行标题,请指定字符串数组或字符向量元胞数组。数组中的每个元素对应一行文本。
如果将标题指定为分类数组,MATLAB® 将使用数组中的值,而不是类别。
示例: s = scatterhistogram(__,'Title','My Title Text')
示例: s.Title = 'My Title Text'
示例: s.Title = {'My','Title'}
NumBins
— 直方图 bin 数量
正整数标量 | 正整数列向量 | 正整数矩阵
直方图 bin 数量,指定为正整数标量、2×1 正整数向量或 2×n 正整数矩阵,其中 n 为 GroupData
中的组数。
指定的值 | 描述 |
---|---|
标量 | 该值是 x 和 y 直方图的 bin 数量。 |
2×1 向量 | 第一个值是 x 数据的 bin 数量,第二个值是 y 数据的 bin 数量。 |
2×n 矩阵 | (1,j) 值是第 j 个组中 x 数据的直方图的 bin 数量。同样,(2,j) 值是第 j 个组中 y 数据的直方图的 bin 数量。 |
scatterhistogram
使用 histogram
的 'BinMethod','auto'
名称-值对组参数来确定默认 NumBins
和 BinWidths
值。
您不能更改分类数据的 NumBins
。
示例: s = scatterhistogram(__,'NumBins',20)
示例: s.NumBins = [10; 15]
HistogramDisplayStyle
— 直方图的显示样式
'stairs'
(默认) | 'bar'
| 'smooth'
直方图显示样式,指定为下列选项之一。
显示样式 | 描述 |
---|---|
'stairs' | 显示阶梯图,该图显示直方图的轮廓而不填充条形。 |
'bar' | 显示直方条形图。 |
'smooth' | 显示通过核密度估计值生成的平滑图。此选项需要 Statistics and Machine Learning Toolbox 许可证。 |
scatterhistogram
使用 'pdf'
归一化类型来生成直方图。有关详细信息,请参阅 histogram
的 'Normalization'
名称-值对组参数。
示例: s = scatterhistogram(__,'HistogramDisplayStyle','smooth')
示例: s.HistogramDisplayStyle = 'bar'
LineWidth
— 直方图线宽
正标量 | 正向量
直方图线宽,指定为正标量或正向量,以磅为单位。默认情况下,scatterhistogram
为直方图中的每个线条指定 0.5
的线宽。
当组的总数超过指定的线宽数量时,scatterhistogram
将循环使用指定的线宽。
示例: s = scatterhistogram(__,'LineWidth',0.75)
示例: s.LineWidth = [0.5 0.75 0.5]
MarkerStyle
— 标记符号
字符向量 | 字符串数组 | 字符向量元胞数组
每个散点图组的标记符号,指定为下列形式之一:
指定标记样式的字符向量
指定一个或多个标记样式的字符串数组或字符向量元胞数组
从这些标记选项中进行选择。
标记 | 描述 | 生成的标记 |
---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
"none" | 无标记 | 不适用 |
默认情况下,scatterhistogram
为散点图中的每个组指定标记符号 'o'
。当组的总数超过指定的符号数量时,scatterhistogram
将循环使用指定的符号。
示例: s = scatterhistogram(__,'MarkerStyle','x')
示例: s.MarkerStyle = {'x','o'}
ScatterPlotLocation
— 散点图的位置
'SouthWest'
(默认) | 'SouthEast'
| 'NorthEast'
| 'NorthWest'
散点图的位置,指定为以下选项之一。
位置 | 描述 |
---|---|
'SouthWest' | 在散点图的右上方绘制直方图。 |
'SouthEast' | 在散点图的左上方绘制直方图。 |
'NorthEast' | 在散点图的左下方绘制直方图。 |
'NorthWest' | 在散点图的右下方绘制直方图。 |
示例: s = scatterhistogram(__,'ScatterPlotLocation','NorthEast')
示例: s.ScatterPlotLocation = 'SouthEast'
LegendVisible
— 图例可见性的状态
'on'
| 'off'
图例可见性的状态,指定为 'on'
或 'off'
。将 LegendVisible
设置为 'on'
会显示图例,设置为 'off'
会隐藏图例。
如果 GroupData
为空 ([]
) 或只包含一个组,则 scatterhistogram
不显示图例。否则,scatterhistogram
默认显示图例,除非图例与散点图或边缘直方图重叠。
在图例中,scatterhistogram
按照组在 GroupData
中首次出现的顺序显示其组名称。
示例: s = scatterhistogram(__,'LegendVisible','on')
示例: s.LegendVisible = 'off'
输出参数
s
— 带直方图的散点图
ScatterHistogramChart
对象
ScatterHistogramChart
对象,它是一个独立可视化。创建对象后,使用 s
修改该对象。有关属性列表,请参阅 ScatterHistogramChart 属性。
详细信息
独立可视化
独立可视化是出于特殊目的设计的图,其工作方式独立于其他图。与 plot
和 surf
等其他图不同,独立可视化内置一个预配置的坐标区对象,并且某些自定义不可用。独立可视化还具有以下特性:
它无法与其他图形元素(如线条、补片或曲面)组合。因此,不支持
hold
命令。gca
函数可以将图对象返回为当前坐标区。您可以将图对象传递给许多 MATLAB 函数,这些函数接受坐标区对象作为输入参数。例如,您可以将图对象传递给
title
函数。
提示
要以交互方式浏览
ScatterHistogramChart
对象中的数据,请使用以下选项。其中一些选项在实时编辑器中不可用。缩放/平移 - 使用滚轮或 + 和 - 键进行缩放。点击并拖动散点图以进行平移。
scatterhistogram
根据当前散点图范围内的数据更新边缘直方图。数据提示 - 将鼠标悬停在散点图或边缘直方图上以显示数据提示。
如果基于表创建边缘带直方图的散点图,则可以自定义散点图的数据提示。
要在数据提示中添加或删除行,请右键点击散点图上的任意位置,然后指向修改数据提示。然后,选择或取消选择一个变量。
要添加或删除多行,请右键点击图,指向修改数据提示,然后选择更多。然后,通过点击 >> 添加变量,或通过点击 << 删除变量。
版本历史记录
在 R2018b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 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)