1 图形标注
在绘制图形时,可以对图形加上一些说明,如图形名称、坐标轴说明以及图形某部分的含义等,这些操作称为添加图形标注。
有关图形函数的调用格式为: title(图形格式) xlabel(x轴说明) ylabel(y轴说明) text(x,y,图形说明)%在(x,y)坐标处添加图形说明。 添加文本说明还可以使用gtext命令,执行该命令时,十字坐标光标自动跟随鼠标移动,单击鼠标即可将文本放置在十字光标处,如命令gtext('cos(x)'),即可放置字符串cos(x)。 以上函数在三维坐标中同样适用,z坐坐标的说明用于zlabel函数。 legend(图例1,图例2,......) legend函数用于绘制曲线的 线型 颜色 数据点 来标记图例,图例放置在图形空白处,用户还可以通过鼠标移动图例,将其放到所希望的位置。
关于LaTex
函数的说明文字中还可以使用Latex格式的控制字符, 在MATLAB支持的Latex字符串中,用\bf、\it、\rm控制字符分别定义黑体、斜体和正体字符,受Latex字符串控制部分需要用{}括起来。例如,text(0.3,0.5,'The useful {\bf MATLAB}')将使得“MATLAB”一词黑体显示。常用Latex字符见表P89;
上下标标注
说明文字中可通过Latex命令来定义上下标。 如:e^{axt}的标注效果为以e为下标,以axt为上标的数。
2.坐标控制
在绘制图形时MATLAB可以自动根据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰显示出来。所以一般情况下用户不必选择坐标轴刻度范围。当然或需要重新设定坐标范围,也可以利用axis函数对其重新设定。该函数的调用格式为:
axis的调用格式: axis([xmin xmax ymin ymax zmin zmax])
如果只给出前4个参数,则MATLAB按照给出的x、y轴的最小值和最大值选择坐标系范围,以便绘制出合适的二维曲线。如果给出了全部参数,则系统按照给出的3个坐标轴的最小值和最大值选择坐标系范围,以便绘制出合适的三维图形。
axis 函数的其它常用用法: axis equal:纵横坐标轴采用等长刻度。 axis square:产生正方形坐标系(默认为矩形)。 axis auto:使用默认设置 axis off:取消坐标轴 axis on:显示坐标轴 关于网格线: 给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画风格线,不带参数 的grid命令在两种状态之间进行切换。 关于加边框 给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。
例:绘制分段函数曲线并添加图形标注
x=linspace(0,10,100); y=[]; for x0=x if x0>=8 y=[y,1]; elseif x0>=6 y=[y,5-x0/2]; elseif x0>=4 y=[y,2]; elseif x0>=0 y=[y,sqrt(x0)]; end end plot(x,y) 图形如下: 其中y初始值为0, >> size(y) ans = 1 100
进行图形标注:
x=linspace(0,10,100); y=[]; for x0=x if x0>=8 y=[y,1]; elseif x0>=6 y=[y,5-x0/2]; elseif x0>=4 y=[y,2]; elseif x0>=0 y=[y,sqrt(x0)]; end end plot(x,y) axis([0 10 0 2.5]);%设置坐标轴 title('分段函数曲线');%加图形标题 xlabel('variable X');%加x轴说明 ylabel('variable y');%加Y轴说明 text(2,1.3,'y=x^{1/2}'); text(4.5,1.9,'y=2'); text(7.3,1.5,'y=5-x/2'); text(8.5,0.9,'y=1');
3 图形保持
matlab默认每一次绘图命令就会刷新一次当前图形窗口,窗口原有图形将不复存在。若希望在保持原有图形,
可使用保持命令:hold.hold on/off 命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令是在两种状态之间切换。
例:用图形保持功能在同一坐标内绘制曲线y=2e^(-0.5x)sin(2pix)及其包络线; 程序如下: x=(0:pi/100:2*pi)'; y1=2*exp(-0.5*x)*[1,-1]; y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,'b:'); axis([0,2*pi,-2,2]);%设置坐标 hold on;%设置图形保持状态 plot(x,y2,'k'); legend('包络线','包络线','曲线y');%加图例 hold off;%关闭图形保持 grid%网格线控制
注意legend的图例线是根据绘图顺序拟定的,若上例中两个plot函数互换顺序,则图形如下: