matlab并不是根据数学函数来画图的,而是根据函数分别对应的XYZ点来画图的。
绘图函数:plot(x,y,‘LineSpec’)
各参数意义如下:
x: 图线上点的x坐标y: 图线上点的y坐标LineSpec: 图线的线条设定,三个指定线型,标记符号和颜色的设定符组成一个字符串,设定符不区分先后.matlab在画图时会把旧的图形覆盖掉
需要用hold on 指令保留旧图形
hold on plot(1); plot(2); hold off %matlab会把1与2的图形都保留在同一张图上绘图函数接受线条设定作为参数并相应地修改生成的图形。您可以为线条指定以下三个要素:
线型标记符号颜色点击Linespec来查找详细信息
多个图形绘在一张图上时,需要用legend函数标记图例
使用legend()函数为图片增加图例
使用legend(label1, ..., labelN)函数可以为图片添加图例
eg.
x=0:0.5:4*pi; y=sin(x); h=cos(x); w=1./(1+exp(-x)); g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2)); plot(x,y,'bd-' ,x,h,'gp:',x,w,'ro-' ,x,g,'c^-'); % 绘制多条图线 legend('sin(x)','cos(x)','Sigmoid','Gauss function'); % 添加图例为图片增加标题和标签
使用title()为图片增加标题
使用*label()为图片增加标签
x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x); plot(x, y1, '--*', x, y2, ':o'); xlabel('t = 0 to 2\pi'); %增加x轴的标注 ylabel('values of sin(t) and e^{-x}') %增加y轴的标注 title('Function Plots of sin(t) and e^{-x}'); %增加标题 legend('sin(t)','e^{-x}');为图片增加文本和注释
使用text()函数可以为文本增加箭头
使用annotation()函数可以为文本增加注释
eg.
x = linspace(0,3); y = x.^2.*sin(x); plot(x,y); line([2,2],[0,2^2*sin(2)]); str = '$$ \int_{0}^{2} x^2\sin(x) dx $$'; %积分符号 积分起末点 函数 dx text(0.25,2.5,str,'Interpreter','latex'); %文本的起始坐标 文本 annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);图样调整
matlab中画的一张图有三个partFigure object (图线后面,类似幕布后面的部分)
Axes object (坐标系统xyz轴)
Line object (画出的图线)
gca=get current axes 是当前图像的Axes属性
gcf=current figure 是当前图像的Axes属性
allchild 找到当前object的所有子元
ancestor 找到当前object的祖先
delete 删除一个object
findall 找到所有的当前图像的objects
上面的Utilitiy fuction可以看作一个变量名而不是一个函数名
使用set函数可以改变图像的细节
xlim([X,Y])与ylim([X,Y])函数可以改变图像的X轴与y轴的限度
多个图样并列排布
subplot(row,colum,n);
n<=row*colum;row代表行数,Colum代表列数,n代表图样的数量
保存图样到文件
使用saveas(fig,filename)命令可以将图形对象保存到文件中,其中fig为图形句柄,filname为文件名.
saveas(gcf, 'myfigure.png')