数据处理结果可视化
——Matlab的图形功能
用图形来表达实验数据,能清楚地显示出数据的规律和内在本质。而Matlab有很强的图形处理功能。
1.绘图语句及图形窗口的选择和建立
绘图语句plot或plot3等直接产生一个图形窗口,并把该窗口当做当前输出窗口。
格式为:plot(x,y,'参数')。x、y为表达自变量与函数的值的向量,第三项单引号中的参数为线型、标记、颜色的表达式,可以忽略,也可只标明个别参数。忽略的参数系统将使用默认值。在同一坐标系统中画多个图形,只需在同一plot命令中依次输入每个图形的自变量、函数和绘图参数即可。
例:绘一条二维曲线(y=et/2.sin3t)。
t=0:pi/50:4*pi; %定义横轴向量,从0到4π,每个数据间相差π/50。
y=exp(t/2).*sin(3*t); 计算纵轴向量y。
plot(t,y) %绘制二维图形(图b-1-2)。
subplot(m,n,i)产生一个m行n列的m×n个小图形窗口,选择第i个小窗口为当前输出窗口,i在1~m×n之间。例:
for i=1:4;
subplot(2,2,i);
plot(sin([0:0.1:8*pi]/i));
title(i);
end;
以上程序需作成.m文件,在Matlab中调用,依次在每个小窗口中画正弦函数 (图b-1-3)。
2.选择不同的坐标系统
绘二维图形的坐标系可以设定为不同的系统以适应不同的需要。
plot:xy坐标都是线性坐标系;
loglog: xy坐标都是对数坐标系;
semilogx: x坐标轴是对数坐标系;
semilogy: y坐标轴是对数坐标系;
plotyy: 有两个y坐标轴,一个在左边,一个在右边。
polar: 极坐标
可以使用坐标转换函数,进行坐标转换。
cart2pol:笛卡尔坐标转换为极坐标或圆柱坐标
cart2sph:笛卡尔坐标转换为球坐标
pol2cart:极坐标或圆柱坐标转换为笛卡尔坐标
sph2cart:球坐标转换为笛卡尔坐标
3.绘图参数选择
如果没有特别指明,plot函数将用实线来连接数据点,如有不同的数据画在同一图中将自动使用不同的颜色。用户也可以指定图线的其它类型和颜色。
表b-1-2 绘图参数
| 点或线的颜色 | 标记点的形式 | 线型 |
| 'y'(黄) | '.'(点) | '-'(实线) |
| m'(紫红) | 'o'(圆圈) | ':'(点线) |
| 'c'(青) | 'x'(叉) | '-.'(点划线) |
| 'r'(红) | '+' | '–'(虚线) |
| 'g'(绿) | '*' | |
| 'b'(兰) | 's'(正方形) | |
| 'w'(白) | 'd'(菱形) | |
| 'k'(黑) | 'v'(向下三角形) | |
| '^'(向上三角形) | ||
| '<'(向左三角形) | ||
| '>'(向右三角形) | ||
| 'p'(五角星) | ||
| 'h'(六角形) |
在plot等绘图函数中,有根据输出的数据自动设定数轴界限的功能,但有时手动的调节也还是必不可少的。
axis([xmin,xmax,ymin,ymax])
设定了两个数轴的范围,其中可以用Inf,-Inf来让Matlab自动寻找合适的界限。
5.图形的标注
title:标注图形的标题。例:title(‘反应进度’)
legend:标注图例。例:lengend(‘测量点’,’拟合曲线’);其位置与plot中位置对应。
xlabel: 对x轴标注。例:xlabel(‘时间’)
ylabel: 对y轴标注。例:ylabel(‘电导’)
text:在指定位置写上文字内容。例:text(2,4,’实验温度:25’)
gtext:用鼠标给文字指定位置。
grid on;给图形加网格线。
对于3D图形还可以用不同光源,颜色等来渲染。下载本文