功能

二维曲线绘图

语法

plot(Y)
plot(X1,Y1,...)
plot(X1,Y1,LineSpec,...)
plot(...,'PropertyName',PropertyValue,...)
plot(axes_handle,...)
h = plot(...)
hlines = plot('v6',...)

描述

plot(Y)如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));其它使用情况下,忽略坐标数据中的虚部。

plot(X1,Y1,...)如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。

X

Y

备注

m×n

m×n

按列取坐标数据绘制n条曲线

X和Y必须具有相同的尺寸

1×n或n×1

m×n或n×m

自动匹配尺寸相同方向绘制m条曲线

任意四种组合,效果一样

m×n或n×m

1×n或n×1

同上

同上

1×1

1×n或n×1

绘制垂直X轴离散点

Y可以任意向量

1×n或n×1

1×1

绘制垂直Y轴离散点

X可以任意向量

plot(X1,Y1,LineSpec,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形

plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)

此时完全等效于

plot(X1,Y1,LineSpec1,...)

hlod all

plot(X2,Y2,LineSpec2,...) 

MATLAB中提供的线型属性有:

线型

说明

标记符

说明

颜色

说明

-

实线(默认)

+

加号符

r

红色

--

双划线

o

空心圆

g

绿色

:

虚线

*

星号

b

蓝色

:.

点划线

.

实心圆

c

青绿色

x

叉号符

m

洋红色

s

正方形

y

黄色

d

菱形

k

黑色

^

上三角形

w

白色

v

下三角形

>

右三角形

<

左三角形

p

五角星

h

六边形

需要说明的是,LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说'r-.*'、'-.r*'、'*-.r'等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。

plot(...,'PropertyName',PropertyValue,...)设置由plot创建的所有曲线句柄对象的属性,Line对象属性和属性值参见附录,具体设置参考下面的实例,当然可以使用set/get进行设置。

plot(axes_handle,...)指定坐标系,也就是在axes_handle坐标系中绘图,在没有指定时默认为gca。

  

h = plot(...)返回由plot创建的所有曲线句柄对象的句柄。每条曲线对应一个句柄,如果有n条曲线,则h为n×1的数组。

注意

在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中ColorOrder和LineStyleOrder两个属性。

默认情况,MATLAB在每次调用plot函数时将ColorOrder和LineStyleOrder自动重置为DefaultAxesColorOrder和DefaultAxesLineStyleOrder。Default**属性我们可以自定义,有效期至MATLAB关闭,Matlab下次启动时将Default**属性重置为厂家设置(Factory)

set(0,'DefaultAxesColorOrder',’r|g|b|k’,...
'DefaultAxesLineStyleOrder','-|-.|--|:')

  

使用hold all命令可以阻止调用plot函数时自动重置ColorOrder和LineStyleOrder属性,而是循环使用。注意hold on只是使多次绘制的图形叠加(相当于NextPlot),但不能阻止属性重置。

另外我们可以通过下面四个属性设置标识符的颜色和大小

LineWidth——指定线宽

MarkerEdgeColor——指定标识符的边缘颜色

MarkerFaceColor——指定标识符填充颜色

MarkerSize——指定标识符的大小

  

注意上面四个属性是针对当前坐标系中所有曲线的

实例

% by dynamic

% see also http://www.matlabsky.com

% 2009.8.20

%

X=1:10;

% 两个都是数组,必须具有相同的尺寸

X1=[X;X;X]';%10×3

Y1=rand(10,3)+1;%10×3

% 其中一个为向量,另一个为数组,自动匹配尺寸相等方向

X2=1:0.1:10;%1×91

Y2=[sin(X2);cos(X2)]';%91×2

% 其中一个是标量,另一为矢量,绘制垂直坐标轴的离散点

X3=1:10;

Y3=-0.5;

fh=figure('numbertitle','off','name','PLOT Usability Demo');%创建figure对象

ah=axes;%创建axes对象

h=plot(...%返回所有曲线句柄

    ah,...%指定坐标系,可以省略,此时默认gca

    X1,Y1,...%坐标数据   

    '-.^',...%曲线属性,可以省略或部分省略,此时自动选择

    X2,Y2,...

    'm-',...

    X3,Y3,...

    'o',...%注意此组数据设置线型和颜色无效,因为默认绘制离散点

    'LineWidth',2,...%线宽

    'MarkerEdgeColor','k',...%标识符边缘颜色

    'MarkerFaceColor','r',...%标识符填充颜色

    'MarkerSize',8)%标识符大小

  

subplot函数解析: 

subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置。下面是这个例子,可加深理解:

x1=[1 2 3];x2=x1;x3=x2;x4=x1;
y1=[2 4 6];y2=2*y1;y3=3*y1;y4=4*y1;
subplot(2,2,1)
plot(x1,y1);
axis([0,20,0,20])
subplot(2,2,2)
plot(x2,y2);
  axis([0,20,0,20])
subplot(2,2,3)
plot(x3,y3)
  axis([0,20,0,20])
  subplot(2,2,4)
plot(x4,y4)
axis([0,20,0,20])

结果为:

Matlab中plot函数参数解析的更多相关文章

  1. 【原创】Matlab中plot函数全功能解析

    [原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...

  2. Matlab中plot函数全功能解析

    Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName ...

  3. Matlab中unifrnd函数使用解析

    1.生成N阶[a,b]均匀分布数组 >> unifrnd(3,5,5,5) ans = 3.8651 4.6677 4.8115 4.3456 4.8560 4.0241 3.4079 3 ...

  4. [ZT] matlab中plot画图参数的设置

    一.Matlab绘图中用到的直线属性包括: (1)LineStyle:线形 (2)LineWidth:线宽 (3)Color:颜色 (4)MarkerType:标记点的形状 (5)MarkerSize ...

  5. matlab中plot画图参数的设置

    原文链接:http://blog.sciencenet.cn/blog-281551-573856.html 一.Matlab绘图中用到的直线属性包括: (1)LineStyle:线形 (2)Line ...

  6. matlab 中“newff” 函数的参数设置

    matlab 中"newff" 函数的使用方法技巧|和各参数的意义 先来一个简单的源程序让大家练习一下: % Here input P and targets T define a ...

  7. Matlab中 awgn 函数输入参数带有‘measured’ 时snr的含义

    MATLAB中awgn 函数可以为输入信号x 添加一定大小的噪声. out = awgn(in,snr,'measured');  是一种常见的使用方法,意思是在添加噪声前先测量一下输入信号的功率,再 ...

  8. matlab中subplot函数的功能

    转载自http://wenku.baidu.com/link?url=UkbSbQd3cxpT7sFrDw7_BO8zJDCUvPKrmsrbITk-7n7fP8g0Vhvq3QTC0DrwwrXfa ...

  9. JS中给函数参数添加默认值(多看课程)

    JS中给函数参数添加默认值(多看课程) 一.总结 一句话总结:咋函数里面是可以很方便的获取调用函数的参数的,做个判断就好,应该有简便方法,看课程. 二.JS中给函数参数添加默认值 最近在Codewar ...

随机推荐

  1. HDU 4597 Play Game(记忆化搜索,深搜)

    题目 //传说中的记忆化搜索,好吧,就是用深搜//多做题吧,,这个解法是搜来的,蛮好理解的 //题目大意:给出两堆牌,只能从最上和最下取,然后两个人轮流取,都按照自己最优的策略,//问说第一个人对多的 ...

  2. POJ 3336 Count the string (KMP+DP,好题)

    参考连接: KMP+DP: http://www.cnblogs.com/yuelingzhi/archive/2011/08/03/2126346.html 另外给出一个没用dp做的:http:// ...

  3. GCD使用小结

    - ( * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{         NSLog(; i < ; i ++) {         [self o ...

  4. 在WCF中使用消息队列

    在一些大型的解决方案中,假设我们的服务没有办法一直在线,或者因为这样那样的原因宕机了,有没有什么办法让客户端的影响最小化呢?答案是可以通过消息队列的方式,哪怕服务是没有在线的,客户端依然可以继续操作. ...

  5. 李洪强iOS开发之苹果使用预览截图

    李洪强iOS开发之苹果使用预览截图 01 在预览的图片中选中你要截得区域  02 - command + C   03 - Command + N 04 - Command + S (保存)

  6. 【转】terminal 快捷键

    转自:http://www.jb51.net/os/Ubuntu/141723.html 1.gnome-terminal快捷键设置方法: 系统 —> 首选项 ->键盘快捷键 -> ...

  7. mq_close

    NAME mq_close - 关闭一个消息队列 (REALTIME) SYNOPSIS #include <mqueue.h>int mq_close(mqd_t mqdes) DESC ...

  8. 阿里巴巴fastJson进行json数据解析

    1.生成JsonObject:将Java bean转换成易于处理和传输的strig的key value形式. 2.解析JsonObject:将收到的字符串转换成JsonObejct这种对象形式,Jso ...

  9. 老是出现dispolse 找不到合适的方法来重写

    复制到输出目录:不复制 生成操作:编译

  10. ios开发--tcp/ip

    简介 该篇文章主要回顾--TCP/IP协议族中的TCP/UDP.HTTP:还有Socket.(--该文很干,酝酿了许久!你能耐心看完吗?) 我在这个文章中,列举了常见的TCP/IP族中的协议,今天主角 ...