在数据处理的工作中我们很难避免对大量数据的处理,我们如果需要将处理结果展现给受众,如果不借助与图像,我们是很难将我们的数据分析处理结果描述清楚,造成我们的处理结果接收率很有得到我们预期的结果,但是如果我们能够绘制较为简明且反应问题的图像,为极大的提高我们的工作效率和受众的认可度。
1、二维图像
常用的二维绘图命令为"plot";其中"plot"命令中应用较多的为plot(x,y);其他的还有像plot(x)、plot(x1,y1,x2,y2,.......);
1.1 简单的plot示例代码
1)plot(x,y)的示例为:
clc;
clear all;
x1 = 0:0.5:8;
y1 = 0.1*x1;
plot(x1,y1);
2)plot(x1,y1,x2,y2)的示例代码为:
clc;
clear all;
x1 = 0:0.5:8;
x2 = 0:pi/30:8;
y1 = 0.1*x1;
y2 = sin(x2);
plot(x1,y1,'m--s',x2,y2,'r-*');
彩色符号 | 颜色 | 线型符号 | 线性格式 | 标记符号 | 数据点格式 |
r | 红色 | - | 实线 | x | 叉号 |
b | 蓝色 | -. | 点划线 | > | 大于号 |
w | 白色 | : | 点线 | s | 正方形 |
k | 黑色 | -- | 虚线 | . | 点 |
1.2 二位图像的文字说明
通常情况下,简单的图像是很难理解清楚问题的,因此我们需要针对这个问题对绘制的图像做出一些文字性的说明,以便读者能够清晰的理解图像所表示的含义;
title('text'):添加绘图标题;
xlabel('text'):添加横坐标;
ylabel('text'):添加纵坐标;
text(x0,y0,'text'):在点(x0,y0)处添加文字说明;
axis([xmin xmax ymin ymax]):设置坐标轴的极值;
2、三维图像
2.1三维曲线绘制
针对三维图像,可以使用MATLAB提供的plot3在三维空间绘制三维曲线,如果需要绘制三维曲面可以考虑使用mesh(x,y,z)和surf(x,y,z),在图像处理领域这两个函数的应用是比较广泛的。
clc;
clear all;
x1 = 0:0.1:8;
y1 = cos(x1);
z1 = sin(x1);
x1 = 0:0.1:8;
plot3(x1,y1,z1,'m--s');
grid on
xlabel('X坐标');
ylabel('y坐标');
zlabel('z坐标');
title('三维图像标题');
如果出现多张图像可以考虑使用subplot函数进行同时绘制,如图所示为两张图像的绘制;
clc;
clear all;
x1 = 0:0.1:8;
y1 = cos(x1);
z1 = sin(x1);
x1 = 0:0.1:8;
y2 = cos(x1);
x2 = sin(x1);
z2 = 0:0.1:8;
subplot(2,1,1);
plot3(x1,y1,z1,'m--s');
grid on
xlabel('X1坐标');
ylabel('y1坐标');
zlabel('z1坐标');
title('三维图像标题1');
subplot(2,1,2);
plot3(x2,y2,z2,'r-.x')
grid on
xlabel('X2坐标');
ylabel('y2坐标');
zlabel('z2坐标');
title('三维图像标题2');
2.2三维曲线绘制文字说明
三维曲线绘制的文字说明和二维的是相差不大的,但是需要主要影响关于"hold on","hold off","figure",以及"grid on","grid off"等函数的使用。
函数说明:
hold on :后续的图像就将在该代码前面的窗口中叠加。即图像保持功能;
hold off:一般与hold on配套使用,hold off将终止hold on的图像保持功能;
figure :打开新图窗,如果使用hold off关闭hold的图像保持功能之后,打开新图窗,后面生成的图像将覆盖掉前面的图像;
grid on: 打开图窗的网格;
grid off: 关闭图窗的网格。
示例代码:
clc;
clear all;
x1 = 0:0.1:8;
y1 = cos(x1);
z1 = sin(x1);
x1 = 0:0.1:8;
y2 = cos(x1);
x2 = sin(x1);
z2 = 0:0.1:8;
z3 = cos(x1);
x3 = sin(x1);
y3 = 0:0.1:8;
plot3(x1,y1,z1,'m--s');
grid on
xlabel('X1坐标');
ylabel('y1坐标');
zlabel('z1坐标');
title('三维图像标题1');
hold on
plot3(x2,y2,z2,'r-.x')
grid on
xlabel('X2坐标');
ylabel('y2坐标');
zlabel('z2坐标');
title('三维图像标题2');
hold off
figure
plot3(x3,y3,z3,'b-.h')
grid on
xlabel('X3坐标');
ylabel('y3坐标');
zlabel('z3坐标');
title('三维图像标题2');
注:
其他的图像可视化函数可以在可视化工具箱像中查看;
参考资料:
https://ww2.mathworks.cn/products/matlab.html