MATLAB二维图形绘图入门技巧一、plot函数1.plot函数的基本应用格式:2. 含多个输入参数的plot函数plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。
含多个输入参数的plot函举例如下:>>X=linspace(5,100,20) % 产生从5到100围的20个等分数据X =5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100ps:这和X=[5 : 5 : 100]的效果是一样的。
3.plot函数画矩阵利用plot函数可以直接将矩阵的数据绘制在图形窗体中,此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中。
如>> A=pascal(5)A =1111 11234 51 36101514102035151535704. plot函数生成的图像设置Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。
这些选项如表所示:w 白色h 六角星例 用不同的线型和颜色在同一坐标绘制曲线 及其包络线。
>> x=(0:pi/100:2*pi)'; %撇号表示对矩阵进行转置 >> y1=2*exp(-0.5*x)*[1,-1]; >> y2=2*exp(-0.5*x).*sin(2*pi*x); >> x1=(0:12)/2;>> y3=2*exp(-0.5*x1).*sin(2*pi*x1); >> plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp');01234567-2-1.5-1-0.500.511.52在该plot 函数中包含了3组绘图参数,第一组用黑色虚线画出两条包络线,第二组用蓝色双划线画出曲线y ,第三组用红色五角星离散标出数据点。
几组例子:指令图例Y=[1,3,6,5,9,0,2];plot(Y);X=0: pi/10: pi*2;Y=sin(X);plot(X,Y);X=0: pi/10: pi*2;Y1=sin(X);Y2=cos(X);Plot(X,Y1,X,Y2);指令图例Y=[1,3,6,5,9,0,2];plot(Y, 'r-+');X=0: pi/10: pi*2;Y=sin(X);plot(X,Y, 'b-.');X=0: pi/10: pi*2;Y1=sin(X); Y2=cos(X);plot(X,Y1,'r+-',X,Y2,'b-*');对plot函数生成的图像进行线宽、字体等设置plot(X1,Y1,LineSpec,’PropertyName’,PropertyValue)对plot生成的图形对象,用指定的properties进行设置。
PropertyNameColor 非标准颜色可用[r,g,b]指定,r,g,b取0和1之间的数值。
LineWidth 线宽LineStyle 线型Marker 点标记MarkerEdgeColor 点标记边框的颜色MarkerFaceColor 点标记面积的颜色MarkerSize 点标记的大小例X=0:1:20;Y=sin(X);plot(X,Y,'--rs','linewidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);X=0:1:20;Y=sin(X);plot(X,Y,'--kx','linewidth',5,'MarkerEdgeColor','b','MarkerFaceColor','r','MarkerSize',20);上述函数中的说明文字,除了使用标准的ASCII字符外,还可以使用LaTex(一种流行的数学排版软件)格式的控制字符,这样就可以在图形上添加希腊字符,数学符号和公式等容。
在Matlab支持的LaTex字符串中,用/bf , /it , /rm控制字符分别定义黑体、斜体和正体字符,受LaTex字符串控制部分要加大括号{}括起来。
例如,text(0.3,0.5,’the usful {/bf MATLAB}’),将使MATLAB一词黑体显示。
一些常用的LaTex字符见表,各个字符可以单独使用也可以和其他字符及命令配合使用。
如text(0.3 ,0.5 ,’sin({/omega}t+{/beta})’)常用的希腊字母等特殊字符用\加拼音如:\后字母大写的,表示是大写(如Ω\Omega),小字母的,表示小写(如ω\omega)<< \ll >> \gg在Matlab中输入上标、下标、特殊符号或字体:上标用^(指数),下标用_(下划线)输下标:_{wb}输上标:^{0.5}调用方式为: ^{任意字符}, _{任意字符}, 注意{}的使用!例:figure, title('\zeta^{-t}sint');figure, title('x~{\chi}_{\alpha}^{2}(3)');二、坐标轴设置1.坐标轴名称格式:xlabel(‘string’)Ylabel(‘string’)%分别给x轴和y轴添加标签2.围设置:a. axis([xmin xmax ymin ymax])设置坐标轴在指定的区间。
axis([-0.1, 8.1, -1.1, 1.1]); % 坐标轴的显示围b. axis auto 将当前绘图区的坐标轴围设置为MATLAB自动调整的区间c. axis manual 冻结当前坐标轴围,以后叠加绘图都在当前坐标轴围显示d. axis tight 采用紧密模式设置当前坐标轴围,即以用户数据围为坐标轴围比例。
e. axis equal 等比例坐标轴f. axis square 以当前坐标轴围为基础,将坐标轴区域调整为方格形g. axis normal 自动调整纵横轴比例,使当前坐标轴围的图形显示达到最佳效果围选项和比例设置可以联合使用,默认的设置为axis auto normalh. axisoff; %去掉坐标轴i. axistight; %紧坐标轴3.坐标轴其他参数设置:x = -pi/2:0.01:pi;plot(x,sin(x)) %先绘制个基本图形% gca: gca, h=figure(...);set(gca, 'XLim',[-pi/2pi]); %X轴的数据显示围set(gca,'XTick',[-pi/2:pi/4:pi]); %X轴的记号点set(gca,'XTick',[ ]); %消除X轴的记号点set(gca,'XTickLabel',{'-pi/2' '-pi/4:' '0' 'pi/4' 'pi/2' 'pi*3/4''pi'}) % X轴的记号set(gca,'XGrid','on'); %X轴的网格,竖线网格set(gca,'XDir','reverse'); %逆转X轴set(gca,'XColor','red'); %X轴的颜色set(gac,'Xscale','log') % x轴以log 形式显示set(gac,'YAxisLocation','right') %Y轴刻度放右边set(gca,'FontName','Times New Roman','FontSize',14) %设置坐标轴刻度字体名称,大小'FontWeight', 'bold' 加粗'FontAngle', 'italic' 斜体。
对字体的设置也可以用在title, xlabel, ylabel,legend等中,比如:set(get(gca, 'xlabel'),'FontName','Times New Roman','FontSize',14,'FontWeight','bold')注:gca 是用来返回当前axes (坐标图)对象的句柄plot(rand(2,1)) % 画一图set(gca,'xgrid','on') % gca表示当前的图,此时x轴添加了网格线4.坐标轴加网格线和边框给坐标加网格线可以用grid命令来控制,grid on/off命令控制画还是不画网格线,不带参数的grid命令在两种之间进行切换。
给坐标加边框用box命令控制。
和grid一样用法三、图像控制1.迭加绘图<1>hold on %保留当前图像与当前坐标轴的属性值,使用后面的图形命令只能在当前存在的坐标轴中增加图形。
<2>hold off %在绘制新图形之前,重新设置坐标轴的属性为默认值,关闭hold on 功能。
<3>hold %在on和off之间切换,即在增加图形和覆盖图形之间切换。
<4>hold all %保留当前颜色和线型,在绘制随后的图形时使用当前颜色和线型。
2.清空图像clf %清除所有当前图像窗口3.图名格式:title(‘string’) 在当前坐标轴上方正中央放置字符串string做为标题。
4.图片大小以及线宽和字号命令.set(gcf,'Units','centimeters','Position',[1010 7 5]);%设置图片大小为7cm×5cm%(the first element is the relative distance of the axes to the left edge of the figure,... %the second the vertical distance from the bottom, and then the width and height; set(gca,'Position',[.13 .17 .80 .74]); %设置xy轴在图片中占的比例set(get(gca,'XLabel'),'FontSize',8); %图上文字为8 point或小5号set(get(gca,'YLabel'),'FontSize',8);set(get(gca,'TITLE'),'FontSize',8);set(gca,'fontsize',8);set(gca,'linewidth',0.5); %坐标线粗0.5磅set(gca,'box','off'); %Controls the box around the plotting area set(get(gca,'Children'),'linewidth',1.5); %设置图中线宽1.5磅5.legend函数的基本用法legend (‘string1’, ‘string2’, ‘string3’, ...)分别将字符串1、2、3…标注到图中,每个字符串对应的图标为画图时的图标。