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函数将绘制图形的离散数据点用直线连接起来作为曲线
绘制图表的基本步骤:
- 绘制图表的数据,可以通过计算产生需要绘制图表的数组数据,从而能够确定图表的绘制范围;
- 在需要绘制多个子图表时,设定图表的位置
- 选择不同的绘图命令绘制图标
- 设置坐标轴的属性
- 添加图形注释,如坐标轴名称、图表名称等
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 数据可视化--的更多相关文章
- Matlab 从入门到精通 Chapter11 文件读取I/O
11.1 工作空间数据读取 将工作空间的变量保存为文件,可以使用save命令. save('filename') 将文件保存在当前目录下,文件名为filename.mat save('filenam ...
- 《Matlab实用案例》系列Matlab从入门到精通实用100例案例教程目录(持续更新)
目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 2. 专栏地址 「 刘一哥与GIS的故事 」之<Matlab使用案例> 3. 专栏目录 [MATLAB统计分析与应用1 ...
- 大数据入门到精通19--mysql 数据导入到hive数据中
一.正常按照数据库和表导入 \\前面介绍了通过底层文件得形式导入到hive的表中,或者直接导入到hdfs中,\\现在介绍通过hive的database和table命令来从上层操作.sqoop impo ...
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- Matplotlib数据可视化(1):入门介绍
1 matplot入门指南¶ matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来 ...
- ArcGIS10从入门到精通系列实验图文教程(附配套实验数据持续更新)
@ 目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 本教程<ArcGIS从入门到精通系列实验教程>内容包括:ArcGIS平台简介.ArcGIS应用基础.空间数据的采集 ...
- 23、ASP.NET MVC入门到精通——业务层和数据层父类及接口-T4模板
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在上一篇中,我们已经把项目的基本框架搭起来了,这一篇我们就来实现业务层和数据层的父接口及父类. 1.我们先来定义一个业务层父接口IBaseB ...
- 大数据应用之:MongoDB从入门到精通你不得不知的21个为什么?
一.引言: 互联网的发展和电子商务平台的崛起,催生了大数据时代的来临,作为大数据典型开发框架的MongoDB成为了No-sql数据库的典型代表.MongoDB从入门到精通你不得不知的21个为什么专为大 ...
- WPF MVVM从入门到精通8:数据验证
原文:WPF MVVM从入门到精通8:数据验证 WPF MVVM从入门到精通1:MVVM模式简介 WPF MVVM从入门到精通2:实现一个登录窗口 WPF MVVM从入门到精通3:数据绑定 WPF M ...
随机推荐
- 让html页面不缓存js的实现方法
很多朋友都会碰到这样的情况:如果我们页面加载了js的话下次打开时也会是调用这个js缓存文件,但对于我们调试时是非常的不方便了,本文就来谈论如何解决这一问题,下面一起来看看. 不缓存JS的方法其实挺简单 ...
- 【工作细节记录】维护项目中前端JS组件丢失后,应如何维护开发之启发
事因: 我所维护的项目为旧项目,接手项目后并没有什么开发文档留下,导致很多时候一出现问题就需要自己去研究整个过程. 项目中一直使用一个"$.download()"的方法进行文件下载 ...
- 第十二章 Python网络编程
socket编程 socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket ...
- VMware虚拟机共享文件夹
安装好虚拟文件夹后,第二次开机时发现/mnt/hgfs目录下找不到共享的文件夹,原因是vmfg-fuse服务没有开启. 在root的配置文件中添加如下代码,设置开机自启: /usr/bin/vmhgf ...
- 3D立体方块旋转图册
代码可直接复制使用看效果 这个文章参考了Lazy.Cat的文章:https://www.cnblogs.com/Lazy-Cat/p/9750244.html,大家也可以去看看,他讲的还是比较详细的. ...
- How Many Partitions Does An RDD Have
From https://databricks.gitbooks.io/databricks-spark-knowledge-base/content/performance_optimization ...
- jquery 终止循环
jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功能就只能用ret ...
- ubuntu12.04开启Framebuffer
一.framebuffer概述 Framebuffer在Linux中是作为设备来实现的,它是对图形硬件的一种抽象,代表着显卡中的帧缓冲区(Framebuffer).通过Framebuffer设备,上层 ...
- Vue中如何在组件内部实现一个双向数据绑定?
假设有一个输入框组件,用户输入时,同步父组件页面中的数据. 具体思路:父组件通过props传值给子组件,子组件通过 $emit 来通知父组件修改相应的props值,具体实现如下: import Vue ...
- Vue基础知识点
基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destorye ...