zoukankan      html  css  js  c++  java
  • Matlab从入门到精通 Chapter5 数据可视化

    5-1 图形绘制示例

    >> x2=-17:0.02:3;
    >> y2=1./((x2+3).^2+1)+1./((x2+9).^2+4)+5;

    >> subplot(2,2,2);
    >> plot(x2,y2,'rp');
    >> axis([-17 3 5 6.5]);
    >> title('figure2');
    >> grid on

    subplot 子图表绘制函数

    默认情况下,plot函数将绘制图形的离散数据点用直线连接起来作为曲线

    绘制图表的基本步骤:

    1. 绘制图表的数据,可以通过计算产生需要绘制图表的数组数据,从而能够确定图表的绘制范围;
    2. 在需要绘制多个子图表时,设定图表的位置
    3. 选择不同的绘图命令绘制图标
    4. 设置坐标轴的属性
    5. 添加图形注释,如坐标轴名称、图表名称等

    5-2 二维图形的绘制

    5.2.1 plot函数

     功能:将数组中的数据绘制在相应的坐标平面上,并通过直线将这些点连接起来,形成连续曲线图形。

    主要命令格式如下:

    plot(x,'PropertyName',Property Value,....)

    x表示绘制图表的数据,PropertyName表示图表属性的字符选项,Property Value表示对应的选值。当x不同时,绘制的曲线不同。

    plot(x,y,'PropertyName',Property Value,....)

    plot(x1,y1,x2,y2,'PropertyName',Property Value,....)

    可以在窗口中同时绘制以x1和y1,x2和y2等分别为横坐标和纵坐标的曲线,实际上可以绘制任意多条曲线

    >> %生成一维数组及其参数数组
    >> a=0:0.1:1;
    >> t=0:0.01:1;
    >> %生成二维数组

    >> y=sin(3*t').*exp(-t')*a;
    >> %不同的绘制参数比较
    >> %二维数组绘制曲线
    >> subplot(2,2,1);
    >> %两行两列取第一块
    >> plot(y);
    >> axis([0 100 0 1]);

    >> xlabel('index');ylabel('y');

    >> title('figure 1');
    >> grid on

    >> %figure 2 一维数组和二维数组绘制曲线
    >> subplot(2,2,2);
    >> plot(t,y);
    >> axis([0 1 0 1]);
    >> xlabel('t');ylabel('y');
    >> title('figure2');
    >> grid on
    >>

    >> %figure3 一维数组和二维数组绘制曲线
    >> subplot(2,2,3);
    >> plot(y,t);
    >> axis([0 1 0 1]);
    >> xlabel('y');ylabel('t');
    >> title('figure3');
    >> grid on;
    >>

    >> %figure 4 一维数组绘制曲线
    >> subplot(2,2,4);
    >> plot(t);
    >> axis([0 100 0 1]);
    >> xlabel('index');ylabel('t');
    >> title('figure 4');
    >> grid on
    >>

    axis normal:将当前的坐标轴恢复为全尺寸,并将单位刻度的所有限制取消。

    当选择box off后,所绘制图形的边框取消,在equal和image fill 情况下,图形充满整个显示区域。

    当需要将多个图形绘制在一个图形内时,用户可以选择hold属性来改变图形的叠绘情况:

    • hold on: 新的曲线添加在原来的图形上
    • hold off:释放当前图形,绘制新的图形
    • hold:实现hold命令之间的切换

    当关闭图形窗口,可以选择使用close函数;

    当擦除图形窗口而不关闭时,可以采用clf命令

    子图绘制:

    • subplot(m,n,p) :将窗口分为m*n个子窗口,在第p个子窗口绘制图形
    • subplot(m,n,p,'replace') :将窗口分为m*n个子窗口,在第p个子窗口绘制图形,并更新坐标系
    • subplot(m,n,p,'align') :将窗口分为m*n个子窗口,在第p个子窗口绘制图形,并对齐坐标轴
    • subplot(‘position’,[left bottom width height]) :在指定位置创建新的子图,并将其设置为当前坐标轴,

              所设置的4个参数均采用归一化的参数设置,范围为(0,1),左下角坐标为(0,0)

    plotyy函数绘制双坐标轴

    • plotyy(x1,y1,x2,y2) :绘制两条曲线,x1-y1,x2-y2,两条曲线分别以左右纵轴为纵轴
    • plotyy(x1,y1,x2,y2,fun) :绘制两条曲线,x1-y1,x2-y2,两条曲线分别以左右纵轴为纵轴,曲线的类型由fun来指定
    • plotyy(x1,y1,x2,y2,fun1,fun2) :绘制两条曲线,x1-y1,x2-y2,两条曲线分别以左右纵轴为纵轴,曲线的类型分别由fun1和fun2来指定

    fplot函数可以绘制由M文件名或者函数句柄定义的函数:

    fplot(function,limits,tol,linespec):linespec表示图形的线形,颜色,数据点等

    >> subplot(2,1,2);
    >> f_hdl=@(x)sin(x)/(x);
    >> fplot(f_hdl,[-10,10]);

    >> title('figure 1:sin(x)/(x)');
    >> xlabel('x');
    >> ylabel('sin(x)/x');
    >> grid on

     

  • 相关阅读:
    Ubuntu 16.04 compare 软件安装
    ubuntu 18 常用软件安装
    LSTM时间序列预测学习
    ubuntu 16.04 屏幕截图
    ubuntu 16.04 tensorboard 学习
    ubuntu 16 .04常见指令整理
    ABAP 更改销售订单(BAPI'BAPI_SALESORDER_CHANGE')
    ABAP SM30表维护生成器,新加一列描述仅供用户维护时参考,不存内表。(例如物料描述,客户描述)
    93年到底多少岁
    一个93年的中年人对2019年的总结
  • 原文地址:https://www.cnblogs.com/Ann21/p/9314673.html
Copyright © 2011-2022 走看看