zoukankan      html  css  js  c++  java
  • 绘制图形的辅助操作(以使图形意义更加明确)

    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函数互换顺序,则图形如下:

  • 相关阅读:
    11、sqlite
    10、正则
    9、bs4
    8、异常与import
    7、文件
    6、函数
    4、字典及集合
    3、元组
    1、python基本语法
    shell编程 15 --- shell 脚本调试技巧
  • 原文地址:https://www.cnblogs.com/freesblog/p/4068830.html
Copyright © 2011-2022 走看看