matlab绘图常见函数及代码

一、引言

在科学研究、工程实践以及数据分析等众多领域,数据可视化至关重要。MATLAB作为一款强大的数学计算和编程软件,提供了丰富多样的绘图函数和工具,能够将枯燥的数据转化为直观、富有洞察力的图形。本文将深入探讨MATLAB中几种常见的画图程序,帮助读者全面掌握数据可视化的技巧。

二、二维绘图基础------plot函数

2.1 简单折线图绘制

plot 函数是MATLAB中绘制二维折线图的基础函数。其最基本的调用格式为 plot(x,y) ,其中 x 和 y 是长度相同的向量。例如:

matlab

x = 1:10;

y = x.^2;

plot(x,y);

上述代码中, x 向量从1到10, y 向量是 x 中各元素的平方。执行 plot(x,y) 后,MATLAB会在坐标系中依次连接 (x(i),y(i)) 这些点,形成一条折线。

2.2 线条属性设置

plot 函数支持对线型、颜色和标记等属性进行设置。例如,要绘制红色虚线并带有圆形标记的折线,可以使用:

matlab

x = 1:10;

y = x.^2;

plot(x,y,'--ro');

这里 '--ro' 中, -- 表示虚线线型, r 表示红色, o 表示圆形标记。还可以通过 set 函数进一步设置线条的线宽等属性,如:

matlab

h = plot(x,y,'--ro');

set(h,'LineWidth',2);

2.3 多组数据绘制

在一个图形中绘制多组数据,可以在 plot 函数中依次列出多组 (x,y) 对。例如:

matlab

x = 1:10;

y1 = x;

y2 = x.^2;

y3 = x.^3;

plot(x,y1,x,y2,x,y3);

这样就会在同一坐标系中绘制出三条不同的曲线。为了区分不同曲线,还可以添加图例:

matlab

x = 1:10;

y1 = x;

y2 = x.^2;

y3 = x.^3;

plot(x,y1,x,y2,x,y3);

legend('y = x','y = x^2','y = x^3');

三、柱状图绘制------bar函数

3.1 垂直柱状图

bar 函数用于绘制垂直柱状图。其基本调用格式为 bar(x,y) ,其中 x 可以是向量或标量, y 是向量。例如:

matlab

x = 1:5;

y = [10 20 15 25 30];

bar(x,y);

上述代码会以 x 中的值为横坐标, y 中的值为高度绘制垂直柱状图。

3.2 水平柱状图

若要绘制水平柱状图,可使用 barh 函数,调用格式与 bar 类似。例如:

matlab

x = 1:5;

y = [10 20 15 25 30];

barh(x,y);

3.3 分组柱状图与堆叠柱状图

对于多组数据,可以绘制分组柱状图或堆叠柱状图。绘制分组柱状图时, y 是一个矩阵,每列对应一组数据。例如:

matlab

x = 1:3;

y = [10 20 30; 15 25 35; 20 30 40];

bar(x,y);

而绘制堆叠柱状图,只需将 bar 函数替换为 barstacked 函数:

matlab

x = 1:3;

y = [10 20 30; 15 25 35; 20 30 40];

barstacked(x,y);

四、散点图绘制------scatter函数

4.1 基本散点图绘制

scatter 函数用于绘制散点图,其基本格式为 scatter(x,y) 。例如:

matlab

x = randn(100,1);

y = randn(100,1);

scatter(x,y);

这里生成了100个服从标准正态分布的随机数对 (x,y) ,并绘制出散点图。

4.2 散点大小与颜色设置

可以通过额外参数设置散点的大小和颜色。例如,根据第三组数据来设置散点大小,根据第四组数据来设置颜色:

matlab

x = randn(100,1);

y = randn(100,1);

s = abs(randn(100,1)) * 50; % 散点大小

c = randn(100,1); % 颜色

scatter(x,y,s,c);

五、三维绘图------plot3函数与surf函数

5.1 三维折线图------plot3函数

plot3 函数用于绘制三维空间中的折线图,调用格式为 plot3(x,y,z) ,其中 x 、 y 、 z 是长度相同的向量。例如:

matlab

t = 0:0.1:2*pi;

x = sin(t);

y = cos(t);

z = t;

plot3(x,y,z);

这段代码会在三维空间中绘制出一条螺旋线。

5.2 三维曲面图------surf函数

surf 函数用于绘制三维曲面图。首先需要生成网格数据,通常使用 meshgrid 函数。例如:

matlab

x,y\] = meshgrid(-2:0.1:2); z = x.\^2 + y.\^2; surf(x,y,z); 上述代码在 x 、 y 范围为\[-2, 2\],步长为0.1的网格上,计算函数 z = x\^2 + y\^2 的值,并绘制出三维曲面。 六、极坐标图绘制------polarplot函数 6.1 基本极坐标图绘制 polarplot 函数用于绘制极坐标图,基本调用格式为 polarplot(theta,r) ,其中 theta 是极角(弧度), r 是极径。例如: matlab theta = 0:0.01:2\*pi; r = sin(2\*theta).\*cos(2\*theta); polarplot(theta,r); 此代码绘制出一个特定形状的极坐标图形。 6.2 极坐标图属性设置 可以像二维绘图一样设置极坐标图的线条、标记等属性。例如: matlab theta = 0:0.01:2\*pi; r = sin(2\*theta).\*cos(2\*theta); polarplot(theta,r,'--ro'); 七、总结 MATLAB的绘图功能极其丰富,本文介绍的 plot 、 bar 、 scatter 、 plot3 、 surf 和 polarplot 函数只是冰山一角。通过灵活运用这些函数以及它们的各种参数设置,能够创建出各种类型的高质量可视化图形,帮助我们更好地理解和分析数据。在实际应用中,应根据数据特点和分析目的选择合适的绘图方式,以达到最佳的数据可视化效果。

相关推荐
lqqjuly5 小时前
Matlab2025a实现双目相机标定~业余版
开发语言·matlab·相机标定·双目相机
机器学习之心8 小时前
MATLAB基于BNT工具箱的多输入分类预测
matlab·分类
机器学习之心1 天前
MATLAB基于改进云物元的模拟机协同训练质量评价
matlab·改进云物元
ytttr8731 天前
MATLAB实现经验模态分解(EMD)与希尔伯特变换获取能量谱
人工智能·python·matlab
t198751281 天前
基于多假设跟踪(MHT)算法的MATLAB实现
开发语言·matlab
机器学习之心1 天前
MATLAB多子种群混沌自适应哈里斯鹰算法优化BP神经网络回归预测
神经网络·算法·matlab
π同学1 天前
基于Matlab的递推最小二乘法参数估计
matlab·最小二乘法
小喵要摸鱼2 天前
【MATLBA】使用教程
matlab
listhi5202 天前
基于空时阵列最佳旋转角度的卫星导航抗干扰信号处理的完整MATLAB仿真
开发语言·matlab·信号处理
88号技师2 天前
2025年7月一区SCI优化算法-Logistic-Gauss Circle optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法