本节主要介绍了MATLAB中基本的绘图方法,包括二维图形与三维图形的绘制。
二维曲线
1.plot(x,y)
当x是向量,y是矩阵时,如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每个行向量为纵坐标绘制曲线,曲线的条数等于y的行数
当x、y是同形矩阵时,以x、y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数
含多个输入参数的plot函数
plot(x,y,选项)
%选型用于指定曲线的颜色、线型、数据点标记例:
2.fplot(f,lims,选项)
- f代表一个函数,通常采用函数句柄的形式
- lims为x轴的取值范围,用二元向量[xmin,xmax]描述,默认值为[-5,5]
- 此绘制函数会使得自变量的采样间隔设置更加合理
绘制图形的辅助操作
1. 图形标注
title(图形标题,属性名,属性值)
- ‘Color’属性:用于设置图形标题文本的颜色
- ‘Fontsize’属性:用于设置标题文字的字号
- 对于需要换行的图形标题,使用字符串、逗号、大括号的形式
xlabel(x轴说明)与ylabel(y轴说明)
text(x,y,说明)
与gtext(说明)
%添加文字说明- 其中text的x,y是说明的位置
- gtext中说明的位置是程序执行后手动点击添加的
legend(图例1,图例2,……)
2.坐标控制
axis([xmin,xmax,ymin,ymax,zmin,zmax])
axis equal
:横纵坐标轴采用等长刻度axis square
:产生正方形坐标系(默认为矩形)axis auto
:使用默认设置axis off
:取消坐标轴axis on
:显示坐标轴1
2
3
4
5
6
7
8
9
10
11
12
13figure(3)%测试axis的使用
x = [0, 1, 1, 0, 0];
y = [0, 0, 1, 1, 0];
plot(x,y,LineWidth=3)
axis([-0.1, 1.1, -0.1, 1.1])
axis equal
figure(4)%测试axis的使用
x = [0, 1, 1, 0, 0];
y = [0, 0, 1, 1, 0];
plot(x,y,LineWidth=3)
axis([-0.1, 1.1, -0.1, 1.1])
axis square结果如下:
给坐标系加网格、边框
- grid on
- grid off
- box on
- box off
图形保持
- hold on
- hold off
图形窗口的分割:
subplot(m,n,p)
添加总标题:
sgtitle('总标题')
其他坐标系下的二维曲面图
1.对数坐标图
semilogx(x1,y1,选型1,x2,y2,选项2,……)
semilogy(x1,y1,选型1,x2,y2,选项2,……)
loglog(x1,y1,选型1,x2,y2,选项2,……)
2.极坐标图
polarplot(theta,rho,选项)
%theta为极角,rho为极经
3.统计图
条形图
bar(x,y,style)
%绘制垂直条形图barh(x,y,style)
%绘制水平条形图- x为存储横坐标,y存储数据,y的行数必须与向量x的长度相同
- style用于指定分组排列模式,’grouped’表示簇状分组,’stacked’表示堆积分组
直方图
histogram(y,x)
扇形图
pie(x,explode)
- 其中x为统计的数据
- explode将扇区从饼图偏移一定位置,其由与 x对应的零值和非零值组成的向量或矩阵。pie 函数仅将对应于 explode 中的非零元素的扇区偏移一定的位置。
散点图
scatter(x,y,选项,'filled')
- filled指定填充数据点标记,其省略时数据点是空心的
矢量图
quiver(x,y,u,v)
- 其中(x,y)指定矢量起点,(u,v)指定矢量终点
三维曲线
1.plot3(x,y,z)
1 | %在空间不同位置绘制5条正弦曲线。 |
结果如下:
含多组输入参数的plot3函数
1
2
3
4
5
6%含多组输入的plot3函数
figure(2)
t1=0:0.01:1.5*pi;
t2=0:0.01:2*pi;
t3=0:0.01:3*pi;
plot3(t1,sin(t1),t1,'r', t2,sin(t2)+1,t2,'b',t3,sin(t3)+2,t3,'LineWidth',2)结果如下:
2.fplot3(funx,funy,funz,tlims)
- funx、funy、funz代表定义曲线x、y、z坐标的函数,通常使用函数句柄的形式
- tlims为参数函数自变量的取值范围,用二元向量[tmin,tmax]描述
1 | %绘制墨西哥帽顶曲线 |
结果如下:
三维曲面
1.平面网格数据的生成
[X,Y]=meshgrid(x,y)
2.绘制三维曲面的函数
mesh(x,y,z,c)
%绘制线框surf(x,y,z,c)
%填充线框- 其中,x、y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的曲面颜色。c省略时,颜色的设定正比于图形高度
1 | %绘制三维曲面图 |
结果如下:
3.色彩处理
colormap cmapname
matlab中预定义的颜色图