绘制图形的辅助操作(以使图形意义更加明确)

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字符串中,用f、it、
m控制字符分别定义黑体、斜体和正体字符,受Latex字符串控制部分需要用{}括起来。例如,text(0.3,0.5,'The useful {f 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函数互换顺序,则图形如下:

原文地址:https://www.cnblogs.com/freesblog/p/4068830.html