Matlab用画图速查表
(1)一维数据部分
plot(x,y,’关键词’,参数)
包括数据点和线的颜色形状粗细,以及除了plot之外的三种一维数据画法
(2)二维数据
包括2纬和三维的不同展示方法以及在数据采样率不高的时候使用interp renderer让画出来的图看起来更加丝滑。
(3)关于位置
通过axes()命令可以改变坐标的默认位置
以及text()命令中的对齐选项,可以更轻松准确地在途中放置字符串
(4)颜色表
以及其灰度对应
因为相当一部分时候,画的很漂亮的彩图会被黑白打印出来,所以在选取颜色表的时候考虑一下黑白打印出来的效果也是非常重要的。
(5) 对数坐标
三个函数和其对应的效果。
================================
plot函数的绘图实验1:
1.美化图像
clear all;
clc;
close all
x = -1*pi:0.01:1*pi;
y1 = sin(x);
y2 = cos(2*x);
figure
subplot(121)
plot(x,y1,x,y2)
title('默认')
subplot(122)
h= plot(x,y1,'r--','linewidth',2);
hold on
plot(x,y2,'b-','linewidth',2)
xlabel('这是x轴标签')
ylabel('这是y轴标签')
xlim([-pi pi])
ylim([-1.1 1.1])
grid on
set(gca,'linewidth',0.8,...
'fontsize',14,...
'xtick',-pi:pi/2:pi,...
'xticklabel',{'-\pi','-{\pi}/{2}','0','\pi/2','\pi'})
text(-1.5,0,'这是文本','BackgroundColor','r')
h=fill([-pi pi pi -pi],[-1.1 -1.1 -0.4 -0.4],'g')
h.FaceAlpha=0.3
text(-0,-0.9,'涂层填充','BackgroundColor','r')
annotation('textarrow',[0.4 0.46],...
[0.78 0.715],'Color',[0 0 1],...
'TextBackgroundColor',[1 1 0],...
'String',{'文本箭头:cos(2x)'},...
'LineWidth',2);
title('处理后')
h=legend('sin(x)','cos(2x)');
title(h,'这是图例')
例2:
grid on:打开分格线控制开关,以后绘制的图形都带有分格线;
grid off:关闭分格线控制开关,以后绘制的图形都不带分格线;
grid:用于实现分格线绘制切换。
举例
绘制图形,并用函数 xlabel、title 和 legend 命令进行标注。
t=0:0.1:4*pi; y=sin(t); y1=cos(t); plot(t,y,':',t,y1,'r*') xlabel('x 轴 (0--4\pi)','fontsize',12,'fontweight','bold') ylabel('y 轴','fontsize',12,'fontweight','bold') title('绘制正弦波和余弦波 Pos=1','fontsize',10,'fontweight','bold','fontangle','italic') text(pi,0,'\leftarrowsin(\pi)=0') text(pi,-1,'\leftarrowcos(\pi)=-1') text(pi/2,0.9,['\uparrowsin(\pi/2)=',num2str(sin(pi/2))]) text(0,-0.6,['绘图日期:',date]) text(0,-0.8,['MATLAB 版本:',version]) legend('正弦波','余弦波') figure(2) plot(t,y,':',t,y1,'r*') title('绘制正弦波和余弦波 Pos=0','fontsize',10,'fontweight','bold','fontangle','italic') legend('正弦波','余弦波',0) grid on figure(3) plot(t,y,':',t,y1,'r*') title('绘制正弦波和余弦波 Pos=-1','fontsize',10,'fontweight','bold','fontangle','italic')
![](https://pic4.zhimg.com/80/v2-c31c3c492c5e716c92698dd23baa4863_720w.jpg)
2.花式绘图
【例】 分析下列程序绘制的曲线。
x1=linspace(0,2*pi,100);
x2=linspace(0,3*pi,100);
x3=linspace(0,4*pi,100);
y1=sin(x1);
y2=1+sin(x2);
y3=2+sin(x3);
x=[x1;x2;x3]';
y=[y1;y2;y3]';
plot(x,y,x1,y1-1)
③ 具有两个纵坐标标度的图形
在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:
plotyy(x1,y1,x2,y2)
其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。【例】用不同标度在同一坐标内绘制曲线
y1=0.2e-0.5xcos(4πx) 和
y2=2e - 0.5xcos(πx)
④ 图形保持
hold on/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。
hold on:启动图形保持功能,当前坐标轴和图形都将保持,此后绘制的图形都将添加在这个图形之上,并且自动调整坐标轴的范围。
hold off:关闭图形保持功能。
hold :在hold on 和hold off命令之间进行切换。【例】采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。
程序如下:
x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
plot(x,y1)
hold on
y2=2*exp(-0.5*x).*cos(pi*x);
plot(x,y2);
hold off
二、设置曲线样式格式:
MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如,“b-.”表示蓝色点划线,“y:d”表示黄色虚线并用菱形符标记数据点。当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次。调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:
plot(x,y1,’cs’,...)
其中c表示颜色, s表示线型。【例】 用不同线型和颜色重新绘制例2图形,其程序为:
x=0:pi/100:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,'go',x,y2,'b-.')
其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。
【例】在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点。
x=linspace(0,2*pi,1000);
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
y2=2*exp(-0.5*x).*cos(pi*x);
k=find(abs(y1-y2)<1e-2);
%查找y1与y2相等点(近似相等)的下标
x1=x(k); %取y1与y2相等点的x坐标
y3=0.2*exp(-0.5*x1).*cos(4*pi*x1);
%求y1与y2值相等点的y坐标
plot(x,y1,x,y2,'k:',x1,y3,'bp');
三、图形标记
在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。
title(‘加图形标题’);当前轴的正上方居
中位置处输出文本作为标题
xlabel('加X轴标记');
ylabel('加Y轴标记');
text(X,Y,'添加文本');函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。例如,text(0.3,0.5,‘sin({\omega}t+{\beta})’)将得到标注效果sin(ωt+β)。
x=0:pi/100:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,'b*',x,y2,'r>');
title('绘制正弦,余弦函数');
% title(date);
xlabel('横轴');
ylabel('纵轴');
text(2,1,'正弦曲线');
text(1,0.6,'余弦曲线');
【例】 在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为:
x=linspace(0,2*pi,60);
%生成含有60个数据元素的向量X
y=sin(x);
plot(x,y);
axis ([0 2*pi -2 2]);
四、坐标控制
axis函数的调用格式为:
axis([xmin xmax ymin ymax zmin zmax])
axis函数功能丰富,常用的格式还有:
axis equal:纵、横坐标轴采用等长刻度。
axis square:产生正方形坐标系(缺省为矩形)。
axis auto:使用缺省设置。
axis off:取消坐标轴。
axis on:显示坐标轴。给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。
五、加图例
给图形加图例命令为legend。该命令把图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放到希望的位置。
格式:legend('图例说明','图例说明');【例】 为正弦、余弦曲线增加图例,其程序为:
x=0:pi/100:2*pi;
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2, '--');
legend('sin(x)','cos(x)');
六、对函数自适应采样的绘图函数
fplot函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。
fplot函数的调用格式为:
fplot(fname,lims,tol,选项)
其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统默认值为2e-3。选项定义与plot函数相同。【例】用fplot函数绘制f(x)=cos(tan(πx))的曲线。
命令如下:
fplot('cos(tan(pi*x))',[ 0,1],1e-4)
或可先建立函数文件fct.m,其内容为:
function y=fct(x)
y=cos(tan(pi*x));
用fplot函数调用fct.m函数,其命令为:
fplot(‘fct’,[0 1])
七.极坐标图
polar函数用来绘制极坐标图,其调用格式为:
polar(theta,rho,选项)
其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。例 绘制r=sin(t)cos(t)的极坐标图,并标记数据点。
程序如下:1 t=0:pi/50:2*pi;
2 r=sin(t).*cos(t);
3 polar(t,r,'-*');
八. 图形标记
title(‘加图形标题');
xlabel('加X轴标记');
ylabel('加Y轴标记');
text(X,Y,'添加文本');
Legend(‘sin(x)’);%加图例