《MATLAB从入门到放弃》二维曲线和图形绘制基础(二):使用Help文档学习line、plot、plotyy、subplot、hold绘图函数
目录:
> 帮助文档
> 基本使用语法
> 图形属性调整
> 子图绘制
> 子图句柄
> 双纵坐标的绘图
> 双纵坐标的句柄
写在前面 :
- MATLAB中函数的学习,一定要学会使用软件自带的Help帮助文档 。 在命令模式下输入 help 函数名 。 可以打开该函数的help页,里面列出了该函数的语法、功能以及每种功能的实例。 包含了详细的函数参数和可控制变量 。可以说,帮助文档比任何一本书籍都要全面和权威 ,我看过好多书籍都是在乱说一气 ,不具有全面把我的特点 。 在本文在plot函数讲解的过程中阐述了帮助文档的使用方法
- 图形中的句柄的概念请看http://www.cnblogs.com/zyuqiang/p/7596433.html
plot 最常用的二维曲线绘图函数
帮助文档
命令模式下: help plot-----> 打开plot的参考页。
在参考页中详细讲述该函数的所有语法,每个语法的功能描述,每个语法列举出的一个例子,语法中可以选择的所有参数等等 。
基本使用语法
|
Y是向量
横坐标默认1,2,3...size(Y )
对应y向量的值
|
x =
43 91 18 10 1 8
plot(x)
|
![]() |
|
Y是矩阵
横坐标默认1,2,3....size(Y的行数)
对应每行的列
|
y=[1,2,3;4,5,6]
plot(y);
|
![]() |
|
x和y都是向量
必须具有相等的长度
绘图一个y对应一个x
|
x=1:5;
y=6:10;
plot(x,y);
|
|
|
x和y都是矩阵
必须具有相等的大小
绘图x矩阵的元素对于y矩阵的元素
|
x=[0,2,10;1,2,3];
y=[1,2,3;4,5,6];
plot(x,y);
|
![]() |
|
x和y其中一个是向量,另一个是矩阵
矩阵的维度之一必须等于向量的长度
1 . 矩阵行数 = 向量长度
2 . 矩阵列数 = 向量长度
|
x=1:2
y=[1,6,3;9,5,11]
plot(x,y);
|
![]() |
|
x和y之一是标量,另一个是标量/向量
绘制离散的点
|
x=3
y=[1,6,3]
plot(x,y,'o');%o是在指定坐标处画一个原点,方便显示
|
![]() |
| x和y之一是向量,另一个是函数 |
x=0:0.1:2*3.14 ;
y=sin(x);
plot(x,y);
|
![]() |
|
x=0:0.1:2*3.14 ;
y=sin(x);
x1=0:0.1:2*3.14;
y1=cos(x1);
plot(x,y,x1,y1);
|
![]() |
线条的样式、符号和颜色调整
- plot(x,y,lineSpec)
- plot(y,lineSpec)
- plot(x1,y1,lineSpec1,x2,y2,lineSpec2,.......)

x=0:0.1:2*3.14 ;
y=sin(x);
plot(x,y,'-.or'); % 三个属性都放在一起,没有前后顺序,放在单引号中
%三个只要有一个不写,则表示没有
plot(x,y,'or'); % -.:表示样式
% o :表示符号为圆圈
% r :表示颜色为red


图形属性调整
- plot(x,y,Name1,Value1,Name2,Value2........)
- plot(y,Name1,Value1,Name2,Value2........)
- plot(x1,y1,x2,y2,.......,Name1,Value1,Name2,Value2........)
| 属性 | 介绍 | 代码 |
| Color | 颜色 |
x=0:0.1:2*3.14 ;
y=sin(x);
plot(x,y,
'Color','r',
'LineStyle','-.',
'LineWidth',5.9
);
|
| LineStyle | 线条样式 | |
| LineWidth | 线条宽度,数字不加引号 | |
| Marker | 线条标记符号 |
x=0:0.1:2*3.14 ;
y=sin(x);
plot(x,y,
'Marker','x'
);
|
| MarkerIndices | 在某个点显示标记符号,需要配合Marker |
x=0:0.1:2*3.14 ;
y=sin(x);
plot(x,y,
'Marker','o',
'MarkerIndices',[1,5,20]
);
|
| MarkerEdgeColor | 标记符号的颜色 |
x=0:0.1:2*3.14 ;
y=sin(x);
plot(x,y,
'Marker','o',
'MarkerIndices',[1,5,20]
);
|
| MarkerFaceColore | 标记符号的颜色 |
x=0:0.1:2*3.14 ;
y=sin(x);
plot(x,y,
'Marker','o',
'MarkerFaceColor','red'
);
|
| MarkerSize | 标记符号的大小 |
x=0:0.1:2*3.14 ;
y=sin(x);
plot(x,y,
'Marker','o',
'MarkerSize',11
);
|
| DatetimeTickFormat | ||
| DurationTickFormat |
使用图像句柄进行设置
- h = plot()
| h= plot(Y) | 略 | 略 |
| h = plot(x,y) |
x = [0:0.1:2*pi];
y1 = sin(x);
y2 = cos(x);
h1 = plot(x,y1);
figure ; % 再新建一个图形
h2 = plot(x,y2);
h1.LineWidth = 10;
h2.Marker = '*';
|
![]()
|
| h = plot(x,y,x1,y1.....) |
x = [0:0.1:2*pi];
y1 = sin(x);
y2 = cos(x);
p = plot(x,y1,x,y2);
p(1).LineWidth = 2; %第一个图
p(2).Marker = '*'; %第二个图
|
![]()
|
line 点点连线
line函数是点点连线的函数,用的不是很多。在帮助文档中的语法有如下:
- line
- line(X,Y)
- line(X,Y,Z)
- line(X,Y,Z,'
PropertyName',propertyvalue,...) - line('XData',x,'YData',y,'ZData',z,...)
- line(ax,...)
- h = line(...)
各个语法的用法与plot函数类似,这里不做详细累述,可以根据plot函数的学习去看帮助文档
简单用法如下:
x=1:10
x =
1 2 3 4 5 6 7 8 9 10
>> y=sin(x)
y =
0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570 0.9894 0.4121 -0.5440
line(x,y)

subplot 子图绘制
子图绘制
子图的意思是一个图形窗口可以有多个图形,每个图形都是一个子图
帮助文档中列出的语法如下;
- subplot(m,n,p)
- subplot(m,n,p,'replace')
- subplot(m,n,p,'align')
- subplot('Position',positionVector)
- subplot(m,n,p,ax)
- subplot(___,Name,Value)
- h = subplot(___)
- subplot(h)
subplot定义子图格局,以及这是第几副子图,plot函数用来绘图 。 其中m: 行数, n: 列数 , i : 第几个图
只列举子图中常用的 subplot(m,n,p)的使用,其他用语法的功能和使用请详细看帮助文档
x=0:0.1:2*3.14 ;
y1=sin(x);
y2=cos(x);
y3=10*x;
y4=tan(x);
subplot(2,2,1); %第一幅子图
plot(x,y1);
subplot(2,2,2);%第二幅子图
plot(x,y2);
subplot(2,2,3);%第三幅子图
plot(x,y3);
subplot(2,2,4);%第四幅子图
plot(x,y4);

子图句柄
从列举出的语法来看,子图也有句柄,使用如下:
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
h1 = subplot(1,2,1);
h2 = subplot(1,2,2);
plot(h1,x,y1);
plot(h2,x,y2);

plotyy 双纵坐标绘图
双纵坐标的绘图
双纵坐标的意思是 两个不同函数曲线共用一个横坐标,但是左右纵坐标是不同的 。
帮助文档中的语法如下 :
- plotyy(X1,Y1,X2,Y2)
- plotyy(X1,Y1,X2,Y2,function)
- plotyy(X1,Y1,X2,Y2,'function1','function2')
- plotyy(AX1,___)
- [AX,H1,H2] = plotyy(___)
只列举最常用的 plotyy(X1,Y1,X2,Y2) 的使用,(其他语法的使用去看plotyy的帮助文档):
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
plotyy(x,y1,x,y2)

双纵坐标的句柄
从列举出的语法来看,plotyy函数也是有句柄的,使用如下 :
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[ax,h1,h2] = plotyy(x,y1,x,y2);
%对两个图形进行设置
h1.LineWidth = 10 ;
h2.Marker = '*';
%ax的设置还没有学到,在将来会讲解

hold 图形叠绘
图形叠绘的意思是在一个图形的基础上再绘制一个图形
帮助文档中给出的语法如下 :
- hold on
- hold off
- hold all
- hold
- hold(ax,'on')
- hold(ax,'off')
- hold(ax)
x=0:0.1:2*3.14 ;
y1=sin(x);
y2=cos(x);
y3=10*x;
subplot(1,2,1); %第一幅子图
plot(x,y1);
hold on ; %在plot(x,y1)图形的基础上叠加后的图形, 不加on也可以。
plot(x,y2);
hold off ; %关闭图形叠加
subplot(1,2,2); %第二幅子图
plot(x,y3);

《MATLAB从入门到放弃》二维曲线和图形绘制基础(二):使用Help文档学习line、plot、plotyy、subplot、hold绘图函数的更多相关文章
- 《MATLAB从入门到放弃》二维曲线和图形绘制基础(一): 什么是图形对象和句柄 ?
图形对象 一个图形包含了不同的对象 图形包括 核心对象和绘制对象 . 核心对象 线条对象 : line 文本对象 : text 矩形对象 : rectangle 补丁对象 : patch 图像对象 ...
- 从入门到放弃,.net构建博客系统(二):依赖注入
文章目录:<从入门到放弃,.net构建博客系统> 从入门到放弃,.net构建博客系统(一):系统构建 从入门到放弃,.net构建博客系统(二):依赖注入 上一篇中有讲到项目启动时会进行io ...
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据 我们这片博文就来聊聊这个反响很不错的OkHttp了,标题是我恶搞的,本篇将着重详细的 ...
- 如何使用二维码进行表白-一键制作二维码,gif二维码制作
" 如何使用二维码进行表白-一键制作二维码" 二维码在我们现在生活中随处可见,因为一次突发奇想,那我们可不可以制作一个自己的二维码呢!然后让女朋友去扫描一下----嘿嘿嘿--不行, ...
- .NET 采用 SkiaSharp 生成二维码和图形验证码及图片进行指定区域截取方法实现
在最新版的 .NET 平台中,微软在逐步放弃 System.Drawing.Imaging ,给出的理由如下: System.Drawing命名空间对某些操作系统和应用程序类型有一些限制. 在Wind ...
- C# 生成二维码,彩色二维码,带有Logo的二维码及普通条形码
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...
- C#二维码生成与解码(二)
本文内容在<C#二维码生成与解码>的基础上增加了纠错级别和Logo图标加入,增加了二维码的功能.关于透明度在这里没有单独显现,因为在颜色里面就已经包含,颜色值由8位8进制构成,最前面的两位 ...
- (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...
- Thinkphp3.2结合phpqrcode生成二维码(含Logo的二维码),附案例
首先,下载phpqrcode,将其解压到项目ThinkPHP\Library\Vendor目录下.Index_index.html(模板可自行配置) <form action="{:U ...
随机推荐
- 2_linux 常用基本命令
相信当你看到此帖子时,你已不再是当年那个颓废的你,你一定也在追梦的路上奔跑,那么请留下你的“梦”,让我们用心去交流,好吗? 废话不多说,直接说正事! 一.查看磁盘分区 1.fdisk -l 查看磁盘 ...
- 第二章 [分布式CMS]
结构系统:定义的后台 资源云:存在静态资源文件 文档云:文章内容 工具服务:模板.,公共类 Web服务:处理一下数据交互 为什么要做分布式了? 说实话,我也不太清楚,网上说在性能方面比较好,我的理解是 ...
- linux下用OCI库访问oracle数据库返回错误Cannot create OCI environment!;
linux下链接oracle数据库,直接用OCI库函数OCI_Initialize初始化返回Oracle ErrorString:Cannot create OCI environment! 原因是缺 ...
- [2014-02-19]ConfigurationSection:让web.config配置更有条理
本文针对新手 使用Web.config的配置信息,一般都习惯于使用 ConfigurationManager.AppSettings["ConfigKey"] 当程序不断迭代,开发 ...
- js实现非模态窗口增加数据后刷新父窗口数据
父窗口是由两个部分组成,一个html的table,一部分是extjs的gird. 点击grid面板[增加]按钮将会弹出非模态窗口进行新数据的编辑页面 下面是按钮的触发函数代码: var a = win ...
- 如何通过jmeter使用beanshell进行关联
关联,大多数都是通过响应的信息抓取部分信息,例如session或者hidden等 在jmeter中要使用关联,分为以下2步: Step 1. 在Sampler请求下添加正则表达式,获得信息,添加 &g ...
- spring配置和注解事务同时存在导致的事务嵌套
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt123 首先先看配置文件: [html] view plaincopy < ...
- IEnumerable和IQueryable接口
之间的区别 IQueryable继承于IEnumerable IEnumerable:IEnumerable<T> 泛型类在调用自己的SKip 和 Take 等一些扩展方法之前数据就已经加 ...
- Liunx-常用命令的总结(5)
cd ../dir 上一节目录下dir目录 cd - 返回上次目录 ifconfig 查看IP地址 sudo if ...
- hdu 2503 1713 1108 最小公倍数&最大公约数
gcd模板: __int64 gcd(__int64 a,__int64 b) { retur b==0?a:gcd(b,a%b); } 1108: #include<iostream> ...









.png)