本文介绍MATLAB的一些绘图操作,内容包括:
- 绘制二维条形图
- 绘制等值线
- 绘制三维图
1. 绘制二维条形图
用条形图能直观的比较出数据间的大小,比如要表示出一组学生的成绩,条形图就是很好的选择。例如6个学生的成绩分别是66 ,78, 98, 59, 81,76,使用这个数据绘制条形图。
在MATLAB中建立一个脚本文件,如下:
x = [1:6];
y = [66 ,78, 98,59, 81,76];
bar(x,y), xlabel('学生'),ylabel('分数'),
title('成绩:')
运行结果如下:
2. MATLAB绘制等值线
contour 线的两个变量的函数的曲线,沿着该函数具有一个恒定值。加入等于标高点,一个给定的水平,如平均海平面以上用于创建等高线图等高线。我们生成的等高线图,显示了对于一个给定的功能的轮廓线 g = f(x, y)。这个函数有两个变量,因此,我们将生成两个独立的变量,即两个数据集 x 和 y。这是通过调用 meshgrid 命令。
meshgrid 命令是用于产生一个矩阵的元素,赋予 x 和 y 的范围内进行了在每一种情况下的增量同规格一起。我们绘制函数 g = f(x, y), where −5 ≤ x ≤ 5, −3 ≤ y ≤ 3,这两个值的增量为0.1。这些变量设置语法为:
[x,y] = meshgrid(–5:0.1:5, –3:0.1:3);
在MATLAB中建立脚本文件:
[x,y] = meshgrid(-5:0.1:5,-3:0.1:3); % 独立变量
g = x.^2 + y.^2; % 函数
[C, h] = contour(x,y,g); % 调用contour
set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2)
%ShowText 设为on,显示等高线的值
%TextStep:标签步长。 LevelStep:等高线步长。
%get(h,'LevelStep')*2,这里每隔一条线显示出值
运行结果:
3. MATLAB绘制三维图
建立一个三维地图函数表面g = xe{-(x2 + y^2)}
在MATLAB中建立一个脚本文件:
[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
运行结果: