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 函数只是冰山一角。通过灵活运用这些函数以及它们的各种参数设置,能够创建出各种类型的高质量可视化图形,帮助我们更好地理解和分析数据。在实际应用中,应根据数据特点和分析目的选择合适的绘图方式,以达到最佳的数据可视化效果。

相关推荐
fengfuyao9851 小时前
基于MATLAB的GUI实现人脸检测、眼睛检测以及LBP直方图显示
开发语言·计算机视觉·matlab
一株月见草哇2 小时前
Matlab(5)进阶绘图
matlab
项目申报小狂人11 小时前
算法应用上新!自适应更新策略差分进化算法求解球形多飞行器路径规划问题,附完整MATLAB代码
开发语言·算法·matlab
躺平都躺不明白11 小时前
数学建模-评价类问题-优劣解距离法(TOPSIS)
数学建模·matlab
壹Y.3 天前
MATLAB 绘图速查笔记
笔记·matlab
Evand J3 天前
【MATLAB例程】滑动窗口均值滤波、中值滤波、最小值/最大值滤波对比。附代码下载链接
开发语言·matlab·均值算法
一株月见草哇4 天前
Matlab(4)
人工智能·算法·matlab
2401_823868224 天前
织构表面MATLAB仿真
人工智能·机器学习·matlab·信号处理
霖004 天前
高级项目——基于FPGA的串行FIR滤波器
人工智能·经验分享·matlab·fpga开发·信息与通信·信号处理
小白的高手之路4 天前
三、非线性规划
数学建模·matlab