目录:

»  plot 最常用的二维曲线绘图函数

>  帮助文档

>  基本使用语法

>  线条的样式、符号和颜色调整

>  图形属性调整

>  使用图形句柄进行设置

»  line 点点连线

»  subplot  子图绘制

>  子图绘制

>  子图句柄

»  plotyy  双纵坐标绘图

>  双纵坐标的绘图

>  双纵坐标的句柄

»  hold  图形叠绘


写在前面 :

  • MATLAB中函数的学习,一定要学会使用软件自带的Help帮助文档 。 在命令模式下输入 help  函数名  。 可以打开该函数的help页,里面列出了该函数的语法、功能以及每种功能的实例。  包含了详细的函数参数和可控制变量 。可以说,帮助文档比任何一本书籍都要全面和权威 ,我看过好多书籍都是在乱说一气 ,不具有全面把我的特点 。  在本文在plot函数讲解的过程中阐述了帮助文档的使用方法
  • 图形中的句柄的概念请看http://www.cnblogs.com/zyuqiang/p/7596433.html

plot   最常用的二维曲线绘图函数

帮助文档

命令模式下:   help plot-----> 打开plot的参考页。

在参考页中详细讲述该函数的所有语法,每个语法的功能描述,每个语法列举出的一个例子,语法中可以选择的所有参数等等 。 

基本使用语法

plot(x)
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);
 
plot(x,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);
 
plot(x,y,x1,y1,x2,y2.......)
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,.......)
    lineSpec 包含设置线条样式(line-style),标记符号(marker)和颜色(color) , 表示对plot绘制图形的样式、标记符合和颜色进行调整  。 三个属性没有顺序,如果缺少一个,则表示没有
   matlab文档中提供了所有的样式颜色符号表,help plot 可以查看参考页的input Arguments(输入参数)中的LineSpec,可以查看line-style、marker、color的所有参数 。

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........)
这种语法,使用的是键值对的形式对图形的各个属性进行调整 。
图形的属性也包括了对线条的调整,所以,用这种键值对的方法调整线条也能达到上述lineSpec的效果 。
matlab文档中提供了所有的属性键值对,help plot 可以查看参考页的Name-Value Pair Arguments,可以查看包括color、lineStyl等等所有的属性 。
属性 介绍 代码
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    

使用图像句柄进行设置

  plot函数返回的句柄只有一个
语法 :  
  • 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绘图函数的更多相关文章

  1. 《MATLAB从入门到放弃》二维曲线和图形绘制基础(一): 什么是图形对象和句柄 ?

    图形对象 一个图形包含了不同的对象 图形包括 核心对象和绘制对象 .  核心对象 线条对象 : line 文本对象 : text 矩形对象 : rectangle 补丁对象 : patch 图像对象  ...

  2. 从入门到放弃,.net构建博客系统(二):依赖注入

    文章目录:<从入门到放弃,.net构建博客系统> 从入门到放弃,.net构建博客系统(一):系统构建 从入门到放弃,.net构建博客系统(二):依赖注入 上一篇中有讲到项目启动时会进行io ...

  3. OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据

    OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据 我们这片博文就来聊聊这个反响很不错的OkHttp了,标题是我恶搞的,本篇将着重详细的 ...

  4. 如何使用二维码进行表白-一键制作二维码,gif二维码制作

    " 如何使用二维码进行表白-一键制作二维码" 二维码在我们现在生活中随处可见,因为一次突发奇想,那我们可不可以制作一个自己的二维码呢!然后让女朋友去扫描一下----嘿嘿嘿--不行, ...

  5. .NET 采用 SkiaSharp 生成二维码和图形验证码及图片进行指定区域截取方法实现

    在最新版的 .NET 平台中,微软在逐步放弃 System.Drawing.Imaging ,给出的理由如下: System.Drawing命名空间对某些操作系统和应用程序类型有一些限制. 在Wind ...

  6. C# 生成二维码,彩色二维码,带有Logo的二维码及普通条形码

    每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默.我眼中的程序员大多都不 ...

  7. C#二维码生成与解码(二)

    本文内容在<C#二维码生成与解码>的基础上增加了纠错级别和Logo图标加入,增加了二维码的功能.关于透明度在这里没有单独显现,因为在颜色里面就已经包含,颜色值由8位8进制构成,最前面的两位 ...

  8. (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

    场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...

  9. Thinkphp3.2结合phpqrcode生成二维码(含Logo的二维码),附案例

    首先,下载phpqrcode,将其解压到项目ThinkPHP\Library\Vendor目录下.Index_index.html(模板可自行配置) <form action="{:U ...

随机推荐

  1. 简单sql注入学习

    sql注入是什么? 所谓SQL注入,就是通过把SQL命令插入到Web表单提 交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQ ...

  2. linux(十二)之用户管理

    前面学习了那么多关于linux的东西,相信大家都对linux应该 有一个大概的了解了.现在给大家分享的是linux中的用户管理,接下来让我们进入正题吧! 今天其实放松了一整天了,有点后悔自己没有把这些 ...

  3. 对 响应数据写在config文件的再次优化

    之前写过 [基于moco的mock server 简单应用]这篇文章,然后自己这段时间也在做基金的接口测试,逛了一些论坛,然后对 响应数据写在config文件的再次优化,之前是把所有的响应数据都写到c ...

  4. Android事件传递机制详解及最新源码分析——Activity篇

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 在前两篇我们共同探讨了事件传递机制<View篇>与<ViewGroup篇>,我们知道View触摸事件是ViewGroup传递 ...

  5. 浅谈如何用Java操作MongoDB

    NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库.本文主要讲述如何使用Java操作Mon ...

  6. C# 导出Excel的示例(转)

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...

  7. 32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式

    32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式 一丶RadAsm的配置和使用 用了怎么长时间的命令行方式,我们发现了几个问题 1.没有代码提醒功能 2.编写代码很慢,记不住各 ...

  8. 201521123089 《Java程序设计》第7周学习总结

    一.本周学习总结 1.以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 二.书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 如果对象为空,ele ...

  9. 201521123113 《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. -继承设计的技巧 1.将公共操作和属性放在父类 2.不要使用protected修 ...

  10. 201521123012 《Java程序设计》第三周学习总结

    一.本章学习总结 1.面对对象:(1)类 <1>属性 [1]外部类 [2]内部类 <2>方法 [1]j静态 [2]非静态 (2)对象 <1>创建对象 <2&g ...