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. less使用方法总结

    1 变量 我们常常在 CSS 中 看到同一个值重复多次,这样难易于代码维护. 理想状态,应是下面这样: const bgColor="skyblue"; $(".post ...

  2. vue中使用Ueditor编辑器 -- 1

    一.   下载包: 从Ueditor的官网下载1.4.3.3jsp版本的Ueditor编辑器,官网地址为:http://ueditor.baidu.com/website/download.html ...

  3. 立即调用函数(IIFE)

    定义: IIFE:立即调用的函数表达式,声明函数的同时立即调用这个函数. 语法: IIFE的常用写法:这两种写法的作用相同,只是表现形式不同而已,()只是起了自执行的作用 (function(){.. ...

  4. Parameter ‘brOrderNo’ not found

    org.apache.ibatis.binding.BindingException: Parameter 'brOrderNo' not found. Available parameters ar ...

  5. node——Commonjs

    ECMA只规范了js最近的一些能力,并没有规范当要用js写一个庞大的项目如果使用模块化开发. CommonJS规范了当我们想开发大型程序的时候如何模块化来开发,以及模块化的时候,不同文件的通讯. Co ...

  6. 算法23-------岛屿的最大面积 LeetCode 695

    一.题目: 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合.你可以假设二维矩阵的四个边缘都被水包围着. 找到给定 ...

  7. Is jQuery Still Relevant in 2018?

    DOM Selection $('.someclass') document.querySelector('.someclass') document.querySlectorAll('.somecl ...

  8. web前端项目规范

    项目目录规范 . ├─ css ├─ component ├─ img ├─ js ├─ page ├─ test ├─ package.json ├─ README.md css 存放样式类文件,且 ...

  9. Windows里正确安装Zookeeper以服务运行

    不多说,直接上干货! 为什么要在Win下来安装Zookeeper呢? 其实玩过大数据的人很清楚,在Linux下我更不说了.在win下,如Disconf .Dubbo等应用. 所以,它的应用是非常广的. ...

  10. 阅读《Android 从入门到精通》(15)——数字时钟

    数字时钟(DigitalClock) java.lang.Object; android.view.View; android.widget.TextView; android.widget.Digi ...