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

  

Matlab从入门到精通 Chapter5 数据可视化--的更多相关文章

  1. Matlab 从入门到精通 Chapter11 文件读取I/O

    11.1 工作空间数据读取 将工作空间的变量保存为文件,可以使用save命令.  save('filename') 将文件保存在当前目录下,文件名为filename.mat save('filenam ...

  2. 《Matlab实用案例》系列Matlab从入门到精通实用100例案例教程目录(持续更新)

    目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 2. 专栏地址 「 刘一哥与GIS的故事 」之<Matlab使用案例> 3. 专栏目录 [MATLAB统计分析与应用1 ...

  3. 大数据入门到精通19--mysql 数据导入到hive数据中

    一.正常按照数据库和表导入 \\前面介绍了通过底层文件得形式导入到hive的表中,或者直接导入到hdfs中,\\现在介绍通过hive的database和table命令来从上层操作.sqoop impo ...

  4. 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题

    动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...

  5. Matplotlib数据可视化(1):入门介绍

      1 matplot入门指南¶ matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来 ...

  6. ArcGIS10从入门到精通系列实验图文教程(附配套实验数据持续更新)

    @ 目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 本教程<ArcGIS从入门到精通系列实验教程>内容包括:ArcGIS平台简介.ArcGIS应用基础.空间数据的采集 ...

  7. 23、ASP.NET MVC入门到精通——业务层和数据层父类及接口-T4模板

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在上一篇中,我们已经把项目的基本框架搭起来了,这一篇我们就来实现业务层和数据层的父接口及父类. 1.我们先来定义一个业务层父接口IBaseB ...

  8. 大数据应用之:MongoDB从入门到精通你不得不知的21个为什么?

    一.引言: 互联网的发展和电子商务平台的崛起,催生了大数据时代的来临,作为大数据典型开发框架的MongoDB成为了No-sql数据库的典型代表.MongoDB从入门到精通你不得不知的21个为什么专为大 ...

  9. WPF MVVM从入门到精通8:数据验证

    原文:WPF MVVM从入门到精通8:数据验证 WPF MVVM从入门到精通1:MVVM模式简介 WPF MVVM从入门到精通2:实现一个登录窗口 WPF MVVM从入门到精通3:数据绑定 WPF M ...

随机推荐

  1. pixhawk入门知识

    Pixhawk是一种先进的自动驾驶仪,由PX4开放硬件项目设计和3D机器人制造.它具有来自ST公司先进的处理器和传感器技术,以及NuttX实时操作系统,能够实现惊人的性能,灵活性和可靠性控制任何自主飞 ...

  2. 一个关于传参数js数组的封装方法(寄生模式)

    function createArr(){ var arr = new Array(); arr.push.apply(arr,arguments); arr.toJoin = function(){ ...

  3. markdown写作软件推荐

    最近发现了一款不错的编辑器,而且是全平台支持的.与其它一些 markdown 编辑器最大的不一样是——所见即所得,不再是一边源文件一遍预览的方式了. 总的说来 Typora 很赞,推荐一波. 点此前往 ...

  4. VSCode Debug模式下各图标 含义

    按钮1:运行/继续 F5,真正的一步一步运行 按钮2:单步跳过(又叫逐过程) F10,按语句单步执行.当有函数时,不会进入函数. 按钮3:单步调试(又叫逐语句) F11:当有函数时,点击这个按钮,会进 ...

  5. Unity 获取坐标函数 坐标转换函数

    获取世界坐标:transform.position 获取本地坐标:transform.localPosition 获取鼠标坐标:Input.mousePosition 获取手指触摸区域坐标:Input ...

  6. BZOJ2179: FFT快速傅立叶 FFT实现高精度乘法

    Code: #include <cstdio> #include <algorithm> #include <cmath> #include <cstring ...

  7. java 公开内部类无法实例化 no enclosing instance 解决办法

    因为B类不是A类的静态内部类,所以B累也只能像A类的成员一样通过new A()的实例访问,new(new A()).B(),这显然不是我们想要的方式,于是需要在B类的前边加上static,变成下边这样 ...

  8. POJ 2187 Beauty Contest( 凸包求最远点对 )

    链接:传送门 题意:给出 n 个点,求出这 n 个点中最远的两个点距离的平方 思路:最远点对一定会在凸包的顶点上,然后直接暴力找一下凸包顶点中距离最远的两个点 /******************* ...

  9. [BOI2007]摩基亚

    题目:洛谷P4390.BZOJ1176. 题目大意: 给你一个\(W\times W\)的矩阵,初始每个数都为\(S\).现在有若干操作: 1. 给某个格子加上一个值:2. 询问某个子矩阵的值的和:3 ...

  10. vue如何根据返回的值对元素进行样式渲染

    1.最终显示样式: 需要:根据任务状态值,显示不同颜色的原点表示任务状态,以及对优先级的数据,进行☆标记 2.代码实现: 在<el-table-column>中需要显示的内容前面,添加图标 ...