Matlab散点直方图绘制scatterhistogram

4.3
(3)

今天,来说下Matlab中,使用函数scatterhistogram绘制散点图并在轴坐标显示各类元素的直方图统计。使得数据点看起来非常直观,在统计学中使用也有一定帮助。轴坐标上显示的直方图,可以根据参数显示每一类元素的直方图统计信息。这对于数据分类也有帮助!

本文主要介绍scatterhistogram函数的常见用法、语法说明、使用表格数据创建散点直方图、为分组数据指定表变量、以可视方式呈现分类数据和数值数据、指定组数据和自定义图属性、指定散点直方图的外观、使用两个变量对数据进行分组,以及指定核密度直方图的相关案例分析。

Matlab散点直方图绘制scatterhistogram

下面,我们开始非常详细的讲解Matlab scatterhistogram 函数语法介绍,实例引用,结果展示。由于Matlab2016中(Matlab2020中有此函数),无此函数,今天的文章将直接分享官方相关内容的介绍。

常见用法

scatterhistogram(tbl,xvar,yvar)
scatterhistogram(tbl,xvar,yvar,'GroupVariable',grpvar)
scatterhistogram(xvalues,yvalues)
scatterhistogram(xvalues,yvalues,'GroupData',grpvalues)
scatterhistogram(___,Name,Value)
scatterhistogram(parent,___)
s = scatterhistogram(___)

语法说明

scatterhistogram(tbl,xvar,yvar) 基于表 tbl 创建一个边缘带直方图的散点图。xvar 输入参数指示沿 x 轴显示的表变量。yvar 输入参数指示沿 y 轴显示的表变量。

scatterhistogram(tbl,xvar,yvar,’GroupVariable’,grpvar) 使用 grpvar 指定的表变量对 xvar 和 yvar 指定的观测值进行分组。

scatterhistogram(xvalues,yvalues) 创建 xvalues 和 yvalues 数据的散点图,并沿 x 轴和 y 轴的边缘分别显示 xvalues 和 yvalues 数据的直方图。

scatterhistogram(xvalues,yvalues,’GroupData’,grpvalues) 使用 grpvalues 中的数据对 xvalues 和 yvalues 中的数据进行分组。

scatterhistogram(___,Name,Value) 使用一个或多个名称-值对组参数指定边缘带直方图的散点图的其他选项。请在所有其他输入参数之后指定这些选项。

scatterhistogram(parent,___) 在由 parent 指定的图窗、面板或选项卡上创建边缘带直方图的散点图。

s = scatterhistogram(___) 返回 ScatterHistogramChart 对象。创建对象后,使用 s 修改该对象。

使用表格数据创建散点直方图

基于医疗患者数据表创建边缘带直方图的散点图。

加载 patients 数据集,并基于加载到工作区中的变量子集创建一个表。然后,创建一个散点直方图,用于将 Height 值与 Weight 值进行比较。

load patients
tbl = table(LastName,Age,Gender,Height,Weight);
s = scatterhistogram(tbl,'Height','Weight');
Matlab散点直方图绘制scatterhistogram

为分组数据指定表变量

使用 patients 数据集,创建一个边缘带直方图的散点图,并指定用于对数据进行分组的表变量。

加载 patients 数据集并基于数据创建一个散点直方图。比较患者的 Systolic 和 Diastolic 值。通过将 ‘GroupVariable’ 名称-值对组参数设置为 ‘Smoker’,根据患者的吸烟者状态对数据进行分组。

load patients
tbl = table(LastName,Diastolic,Systolic,Smoker);
s = scatterhistogram(tbl,'Diastolic','Systolic','GroupVariable','Smoker');
Matlab散点直方图绘制scatterhistogram

以可视方式呈现分类数据和数值数据

使用边缘带直方图的散点图,以可视方式呈现分类医疗数据和数值医疗数据。

加载 patients 数据集,并将 Smoker 数据转换为分类数组。然后,创建一个散点直方图,用于将患者的 Age 值与其吸烟者状态进行比较。生成的散点图包含重叠的数据点。然而,y 轴边缘直方图指示数据集中的非吸烟者远远多于吸烟者。

load patients
Smoker = categorical(Smoker);
s = scatterhistogram(Age,Smoker);
xlabel('Age')
ylabel('Smoker')
Matlab散点直方图绘制scatterhistogram

指定组数据和自定义图属性

使用鞋数据的数组创建一个边缘带直方图的散点图。根据鞋的颜色对数据进行分组,并自定义散点直方图的属性。

创建数据数组。然后,创建一个散点直方图以可视化数据。沿 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;
Matlab散点直方图绘制scatterhistogram

指定散点直方图的外观

创建一个边缘带直方图的散点图。指定直方图的 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');
Matlab散点直方图绘制scatterhistogram

使用两个变量对数据进行分组

创建一个边缘带直方图的散点图。使用两个不同变量的组合对数据进行分组。

加载 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')
Matlab散点直方图绘制scatterhistogram

指定核密度直方图

创建一个具有核密度边缘直方图的散点图。此示例需要 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','-');
Matlab散点直方图绘制scatterhistogram

共计3人评分,平均4.3

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

文章目录

转载文章,原文出处:MathWorks官网,由古哥整理发布

如若转载,请注明出处:https://iymark.com/articles/790.html

(1)
微信公众号
古哥的头像古哥管理团队
上一篇 2020年11月11日 21:34
下一篇 2020年11月14日 00:25

你可能感兴趣的文章

发表回复

登录后才能评论
微信小程序
微信公众号