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

  • 相关阅读:
    Mybatis 原始dao CRUD方法
    JQuery的焦点事件focus() 与按键事件keydown() 及js判断当前页面是否为顶级页面 子页面刷新将顶级页面刷新 window.top.location
    使用actionerror做失败登录验证
    Java项目中的下载 与 上传
    shiro框架 4种授权方式 说明
    javascript 中数组的创建 添加 与将数组转换成字符串 页面三种提交请求的方式
    序列化表单为json对象,datagrid带额外参提交一次查询 后台用Spring data JPA 实现带条件的分页查询 多表关联查询
    Spring data JPA 理解(默认查询 自定义查询 分页查询)及no session 三种处理方法
    orcal 数据库 maven架构 ssh框架 的全注解环境模版 maven中央仓库批量删除lastupdated文件后依然是lastupdated解决方法 mirror aliyun中央仓库
    EasyUI加zTree使用解析 easyui修改操作的表单回显方法 验证框提交表单前验证 datagrid的load方法
  • 原文地址:https://www.cnblogs.com/freesblog/p/4068830.html
Copyright © 2011-2022 走看看