MATLAB scatterhistogram()函数的用法(附带实例)
在 MATLAB 中,利用函数 scatterhistogram() 可以创建带直方图的散点图,其调用格式如下:
【实例 1】基于医疗患者数据表创建边缘带直方图的散点图。在编辑器中编写以下程序并运行:

图 1 边缘带直方图的散点图
【实例 2】创建一个具有核密度边缘直方图的散点图。在编辑器中编写以下程序并运行:

图 2 具有核密度边缘直方图的散点图
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 中的数据进行分组
【实例 1】基于医疗患者数据表创建边缘带直方图的散点图。在编辑器中编写以下程序并运行:
load patients subplot(2,2,1) tbl = table(LastName,Age,Gender,Height,Weight); s = scatterhistogram(tbl,'Height','Weight'); subplot(2,2,2) tbl = table(LastName,Diastolic,Systolic,Smoker); s = scatterhistogram(tbl,'Diastolic','Systolic',... % 比较患者 'GroupVariable','Smoker'); % 指定用于对数据分组的表变量 subplot(2,2,[3 4]) [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')运行程序后,输出如下图所示的图形:

图 1 边缘带直方图的散点图
【实例 2】创建一个具有核密度边缘直方图的散点图。在编辑器中编写以下程序并运行:
load carsmall tbl = table(Horsepower,MPG,Cylinders); s = scatterhistogram(tbl,'Horsepower','MPG',... 'GroupVariable','Cylinders',... 'HistogramDisplayStyle','smooth',... 'LineStyle','-');运行程序后,输出如下图所示的图形:

图 2 具有核密度边缘直方图的散点图