MATLAB是理工科学习中非常重要的一个工具,而利用MATLAB进行画图又是我们在学习中经常会遇到的问题。plot函数作为最简单的一种绘图函数,对它的功能与用法有一个全面深刻的认识不仅可以让我们更好地使用它,还无疑会对我们使用其它绘图函数的过程产生极大的便利。在此,笔者以MATLAB自带的资料为基础,试对plot函数做一个简单的总结。
大致介绍
简而言之,plot函数所完成的功能就是绘制一个或多个的二维(dimension)的折线图(line plot)。
使用方式
基础功能
数据导入与一条线的绘制
图像是数据的形象化展示,要画图必定离不开相应的数据。对于一个二维图,我们需要的便是两个数据,一个作为x轴的数据,另一个作为y轴的数据。一般来说,这两个数据都是以一维行向量的形式来表示的。下面以MATLAB上面的一个例子来说明:
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y);
其中plot函数的第一个参数作为横轴数据,第二个数据作为纵轴数据。运行可知:
这当然是最简单的一种形式,毫无疑问我们随着学习的深入,对于图样自然也会有更高的要求。
同时画出多条线
依然参考MATLAB上面的代码:
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,x,y2);
可见,上面代码中的plot函数带有四个参数,我们很容易知道第三个和第四个参数用于生成第二条线。基于此,我们可以便推知如何画更多的线,当然也可以使用hold on指令。运行代码,有:
高级功能
除此之外,plot函数还有其它不少功能,为了更好地说明,我对它们做一个简单的分类:
说明部分
为了增加图像的可读性,我们往往会为图像加上标题(title),坐标轴(label)含义与范围(axis),以及图例(legend)。为实现这些功能,我们往往在已有代码后面添加指令来进行实现,下面以第二幅图为基础,对如何实现这些功能做一个说明:
%原有代码
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,x,y2);
%设置标题
title('example');
%设置坐标轴含义
xlabel('x');
ylabel('y');
%设置坐标轴范围
axis([-6 6 -1 1]);
%设置图例
legend('y1','y2');
运行代码可以得到:
图样部分
图样部分主要考虑的是线条(Line)与符号(Maker)的类型(Style),大小(Size)粗细(Width)与颜色(Color)。
线条(Line)
对于线条我们可以手动选择我们想要的类型,粗细和颜色。它们都是在plot函数里面通过参数来调整,其中线条的类型和颜色可以直接在数据后面的一个引号内设置,而粗细(LineWidth)需要先指明调整的对象再确定大小。通过MATLAB上的帮助文档(Help Center),我们可以知道在选择类型和颜色时的规则:
以第一段代码为基础,来举一个例子:
x = 0:pi/100:2*pi;
y = sin(x);
tiledlayout(2,1);%设置图片排布方式,便于观察不同
nexttile
plot(x,y,'--r','LineWidth',4);
nexttile
plot(x,y);
符号(Maker)
与线条设置部分类似,只是符号的类型可以与线条的类型和颜色一起设置,符号的大小(MakerSize)与内外颜色(MakerEdgeColor,MakerFaceColor)需要像设置图样粗细一样进行操作。同理可知符号类型的选择规则:
以MATLAB说明文档中的一段代码为基础,改动后为例子进行说明:
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
tiledlayout(2,1);
nexttile
plot(x,y,'-s',...
'MarkerSize',10,...
'MarkerEdgeColor','b',...
'MarkerFaceColor','r');%如果要设置符号类型,就必须同时设置线条类型
nexttile
plot(x,y);
总结
以上内容都是本人在实际学习中所遇到的知识点的总结,实际上plot函数还有很多使用方法,特别是在数据的导入上面,考虑到暂时没有涉及,也就没有进一步的去了解。以上所有内容均来自于MATLAB提供的相关资料,也欢迎大家直接进行参考。如有错误,请各位大佬指正。