资讯动态

MATLAB绘图函数介绍:plotmatrix绘图,附MATLAB例子

发布时间:2026/9/6 0:52:30 来源:尧图企业网站定制
文章目录绘图介绍应用场景函数介绍应用示例MATLAB代码运行结果绘图介绍应用场景plotmatrix是 MATLAB 中用于绘制**散点图矩阵Scatter Plot Matrix**的函数适用于以下场景多变量数据探索分析快速观察多个变量两两之间的相关性与分布规律。特征工程预处理在机器学习或数据建模前直观判断变量之间是否存在线性/非线性关系。统计分析报告在学术论文或工程报告中展示多维数据的整体分布特征。传感器/导航数据分析如I M U IMUIMU各轴数据、G P S GPSGPS多维误差的相关性分析常用于导航与定位系统的调试与评估。例如有一组包含加速度计X / Y / Z X/Y/ZX/Y/Z三轴数据通过plotmatrix可以一次性展示三轴之间两两的散点分布及各自的直方图极大提升分析效率。函数介绍plotmatrix函数的基本语法如下plotmatrix(X)plotmatrix(X,Y)[S,AX,BigAx,H,HAx]plotmatrix(___)参数说明参数说明Xn × p n \times pn×p的数据矩阵绘制各列之间的散点图矩阵对角线为对应列的直方图Yn × q n \times qn×q的数据矩阵绘制X各列 vsY各列的散点图S散点图对象数组p × pAX坐标轴对象数组BigAx覆盖整体的不可见坐标轴对象H对角线直方图对象HAx对角线直方图坐标轴对象核心特点当只输入X时生成p × p p \times pp×p的图形矩阵对角线为各变量直方图非对角线为两两变量散点图。当输入X和Y时生成q × p q \times pq×p的图形矩阵X 的列 vs Y 的列。可通过返回的句柄灵活修改每个子图的属性颜色、标记、字体等。函数基于gplotmatrix实现适合大规模多变量可视化。应用示例MATLAB代码以下示例模拟一组含有 4 个变量如导航系统中位置误差 X/Y/Z 与速度误差 V的数据绘制散点图矩阵并对图形进行美化标注。%% plotmatrix 示例多变量散点图矩阵绘制% 模拟数据4个变量200个样本点clear;clc;close all;rng(0);% 固定随机种子保证可重复性n200;% 构造带相关性的多变量正态分布数据mu[0,0,0,0];Sigma[1.00.80.30.1;0.81.00.50.2;0.30.51.00.6;0.10.20.61.0];% 如果安装了统计工具箱可以直接使用 mvnrndXmvnrnd(mu,Sigma,n);%% 绘制散点图矩阵figure(Name,plotmatrix示例,...Color,w,...Position,[100,100,800,700]);[S,AX,BigAx,H,HAx]plotmatrix(X);%% 美化散点图修改散点颜色与大小fori1:numel(S)% plotmatrix 返回的是 Line 对象不是 scatter 对象% 因此不能使用 SizeData应使用 MarkerSizeifisprop(S(i),MarkerFaceColor)S(i).MarkerFaceColor[0.20.50.8];% 蓝色填充endifisprop(S(i),MarkerEdgeColor)S(i).MarkerEdgeColor[0.20.50.8];% 蓝色边框endifisprop(S(i),MarkerSize)S(i).MarkerSize4;% 散点大小endifisprop(S(i),LineStyle)S(i).LineStylenone;% 不连接散点endend%% 美化直方图修改颜色fori1:numel(H)ifisprop(H(i),FaceColor)H(i).FaceColor[0.90.40.2];% 橙色endifisprop(H(i),EdgeColor)H(i).EdgeColorwhite;endend%% 添加变量标签varNames{位置误差X,位置误差Y,位置误差Z,速度误差V};n_varslength(varNames);fori1:n_vars% x轴标签最后一行xlabel(AX(n_vars,i),varNames{i},...FontSize,9,...FontWeight,bold);% y轴标签最左列ylabel(AX(i,1),varNames{i},...FontSize,9,...FontWeight,bold);end%% 添加总标题title(BigAx,多变量散点图矩阵plotmatrix,...FontSize,13,...FontWeight,bold,...Color,[0.10.10.1]);%% 坐标轴美化fori1:numel(AX)AX(i).FontSize8;AX(i).LineWidth0.8;AX(i).Boxon;AX(i).XGridon;AX(i).YGridon;end%% 计算并显示相关系数矩阵Rcorr(X);fprintf(\n相关系数矩阵\n);fprintf(%12s %12s %12s %12s %12s\n,,varNames{:});fori1:n_varsfprintf(%12s ,varNames{i});fprintf(%12.3f ,R(i,:));fprintf(\n);end代码要点说明使用mvnrnd生成带有预设相关性的多变量正态分布数据更贴近真实工程场景。通过返回的句柄S散点和H直方图分别修改样式实现精细化美化。通过AX句柄数组为每个子图添加坐标轴标签清晰标识各变量含义。附带相关系数矩阵的命令行输出与图形结果形成互补。运行结果运行上述代码后MATLAB 将生成如下效果的图形对角线4个变量各自的直方图橙色直观展示各变量的边际分布。非对角线6对变量之间的散点图蓝色点清晰呈现变量间相关性——相关系数越高散点越集中于对角方向。命令行截图如需帮助或有导航、定位滤波相关的代码定制需求请点击下方卡片联系作者

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价