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. HTML5音频可视化频谱跳动代码

    今天学习到用canvas来写  HTML5音频可视化频谱跳动代码  将代码在此做一总结: <!DOCTYPE html> <html lang="en"> ...

  2. Eclipse键盘输出文字,显示到屏幕上方法

    方法1 /*标准的思路: * 分析: * 1.来源 * 键盘:System.in * 2.目的地 * 屏幕:System.out * 文件:FIle * 3.分别分析:源,目的地流的类型(字符,字节) ...

  3. mysql case when then 使用

    建表:create table hank (id int,name varchar(20)); 插入数据:insert into hank values(1,'A');insert into hank ...

  4. codecademy练习记录--Learn Python(70%)

    ############################################################################### codecademy python 5. ...

  5. python 面向对象 类的内置方法

    判断是不是类cls的对象 class A: pass a = A() print(isinstance(a,A)) 判断类sub是不是super的子类 class A: pass class B(A) ...

  6. 中山纪念中学培训杂题(难的都不在这里面qwq)

    来中山纪中半个月了,差不多就要结束了, 写一些之前考试能更正的题解吧,还有一些不是给人做的(比如IOI2018互测.. 备注:我不会的就没有放上来了,所有数学有关的基本上都死了. 所以这里的题目都是相 ...

  7. LaTeX 插图片

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50240371 这里列出3种LaTeX中 ...

  8. ASP.NET-SOAP、UDDI知识点

    1. 什么是SOAP? 答:是简单访问协议.是在分布式环境中,交换信息并实现远程调用的协议.是一个基于XML的协议.使用SOAP,可以不考虑任何传输协议,但通常还是HTTP协议,可以允许任何类型的对象 ...

  9. 洛谷 P1518 两只塔姆沃斯牛 The Tamworth Two

    P1518 两只塔姆沃斯牛 The Tamworth Two 题目背景 题目描述 两只牛逃跑到了森林里.农夫John开始用他的专家技术追捕这两头牛.你的任务是模拟他们的行为(牛和John). 追击在1 ...

  10. HDU 4300 Contest 1

    扩展KMP很容易就明白过来了. 注意的是,后面明文的长度要少于密文,而且当前K+Extend[k]>=L 输出时犯了很多次二,后来人注意吧. #include <cstdio> #i ...