• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

《MATLAB从入门到放弃》二维曲线和图形绘制基础(二):使用Help文档学习line、plot、 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 目录:

 »  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);

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi删除字符串的回车、空格、Tab键发布时间:2022-07-18
下一篇:
[Delphi]如何挂上IDocHostUIHandler接口实现?发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap