Matlab中plot函数及legend函数详解

Matlab中plot函数全功能解析Matlab中plot函数及legend函数详解

功能

二维曲线绘图

语法

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]';×3

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

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

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

Y2=[sin(X2);cos(X2)]';�×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)%标识符大小

legend函数的基本用法是

LEGEND(string1,string2,string3, ...)

分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。

例如:

plot(x,sin(x),'.b',x,cos(x),'+r')

legend('sin','cos')这样可以把"."标识为'sin',把"+"标识为"cos"

还可以用LEGEND(...,'Location',LOC) 来指定图例标识框的位置

这些是Matlab help文件。后面一段是对应的翻译和说明

'North'              inside plot box near top
        'South'              inside bottom
        'East'               inside right
        'West'               inside left
        'NorthEast'          inside top right (default)
        'NorthWest           inside top left
        'SouthEast'          inside bottom right
        'SouthWest'          inside bottom left
        'NorthOutside'       outside plot box near top
        'SouthOutside'       outside bottom
        'EastOutside'        outside right
        'WestOutside'        outside left
        'NorthEastOutside'   outside top right
        'NorthWestOutside'   outside top left
        'SouthEastOutside'   outside bottom right
        'SouthWestOutside'   outside bottom left
        'Best'               least conflict with data in plot
        'BestOutside'        least unused space outside plot

'North'             图例标识放在图顶端
        'South'            图例标识放在图底端
        'East'               图例标识放在图右方
        'West'              图例标识放在图左方
        'NorthEast'       图例标识放在图右上方(默认)
        'NorthWest      图例标识放在图左上方
        'SouthEast'      图例标识放在图右下角
        'SouthWest'     图例标识放在图左下角
(以上几个都是将图例标识放在框图内)
        'NorthOutside'          图例标识放在图框外侧上方
        'SouthOutside'         图例标识放在图框外侧下方
        'EastOutside'           图例标识放在图框外侧右方
        'WestOutside'          图例标识放在图框外侧左方
        'NorthEastOutside'   图例标识放在图框外侧右上方
        'NorthWestOutside' 图例标识放在图框外侧左上方
        'SouthEastOutside'   图例标识放在图框外侧右下方
        'SouthWestOutside' 图例标识放在图框外侧左下方
(以上几个将图例标识放在框图外)
        'Best'                      图标标识放在图框内不与图冲突的最佳位置
        'BestOutside'           图标标识放在图框外使用最小空间的最佳位置 
还是用上面的例子

legend('sin','cos','location','northwest')可以将标识框放置在图的左上角。

Examples:
        x = 0:.2:12;
        plot(x,bessel(1,x),x,bessel(2,x),x,bessel(3,x));
        legend('First','Second','Third');
        legend('First','Second','Third','Location','NorthEastOutside')

b = bar(rand(10,5),'stacked'); colormap(summer); hold on
        x = plot(1:10,5*rand(10,1),'marker','square','markersize',12,...
                 'markeredgecolor','y','markerfacecolor',[.6 0 .6],...
                 'linestyle','-','color','r','linewidth',2); hold off
        legend([b,x],'Carrots','Peas','Peppers','Green Beans',...
                  'Cucumbers','Eggplant')

Matlab中画图以及plot函数及legend函数详解相关推荐

  1. matlab中leg的用法,LEG引擎变量操作指南详解

    变量解析 一.标识 [001]-[499](各引擎不同标识的上限值不能.正常的是499个),这不是变量,这是标识 标识的初始值是关闭的,它不会因为人物下线或服务器重启而重置 相关命令格式: Check ...

  2. Matlab中plot函数及legend函数详解

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

  3. matlab mda,MATLAB中最基本函数plot()的用法

    1二维平面图形 1.1基本图形函数 画出一条正弦曲线和一条余弦曲线 1.1.1绘图参数表 y 黄- 实线. 点 m 紫: 点线o 圆s 正方形 c 青-. 点划线x 叉号d 菱形 r 红- - 虚线+ ...

  4. python魔法方法与函数_在Python中画图(基于Jupyter notebook的魔法函数)

    这篇文章主要介绍了在Python中画图(基于Jupyter notebook的魔法函数),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先展示一段相 ...

  5. matlab中fval函数,请问matlab中[x,fval,exitflag,output] = simulannealbnd(fun,...)函数怎么调用...

    请问matlab中[x,fval,exitflag,output] = simulannealbnd(fun,...)函数怎么调用,有相应的实例吗?或者帮我看一下下面的程序,怎么改. function ...

  6. matlab 不允许函数定义,MATLAB中此上下文中不允许出现函数定义,急求~

    点击查看MATLAB中此上下文中不允许出现函数定义,急求~具体信息 答:从你讲的问题,虽然没讲太清楚,但我推测,你可能写了个脚本程序文件,其中定义了子函数,在运行时就弹出了这个提示.一般情况下,在函数 ...

  7. 关于MATLAB中M文件如何解决“未定义函数或变量”的若干办法

    MATLAB的M文件分为两种:一种为脚本文件,另一种为函数文件. 脚本文件很简单,就是由一堆命令构成的,里面第一行不是 function 开头,这种文件比如是encrypt.m编写好后直接点F5或者运 ...

  8. matlab10的阶层怎么输入,在Matlab中编写阶乘函数,并调用该函数来生成一个1!,......,10!的阶乘表...

    点击查看在Matlab中编写阶乘函数,并调用该函数来生成一个1!,......,10!的阶乘表具体信息 答:Matlab 2015R 及以后版本,都自带阶乘函数,代码为: >> facto ...

  9. 如何将Matlab中“模糊控制设计器”的隶属度函数导出图片(figure)

    如何将Matlab中"模糊控制设计器"的隶属度函数导出图片(figure) 详情参考matlab官方帮助手册:plotmf()函数 https://www.mathworks.co ...

最新文章

  1. c语言大项目经验,C语言该学的地方(项目经验)
  2. 机器学习实战笔记(Python实现)-03-朴素贝叶斯
  3. HDFS集群安装部署
  4. iOS内存优化及排查方法
  5. 【MM模块】MRP Running — Lot Size 批量大小
  6. 网络损伤测试模拟软件,网络损伤仿真系统的设计及实现
  7. 全程图解交换机和路由器的应用
  8. 机器学习第六篇:详解支持向量机算法
  9. linux线程多参数传递参数,Linux中多线程编程并传递多个参数
  10. php数字转中文数字排序,php实现中文转数字
  11. 2 小时学会 springboot ( 附实例讲解 )
  12. Hive中的排序语法
  13. 计算机与临床医学的应用,论临床医学教育中计算机系统的应用.pdf
  14. 去掉桌面计算机快捷方式,电脑小技巧!去掉桌面快捷方式小箭头图标
  15. ImageIO 先read再write 文件变小了
  16. 空间磁场分布测量仪器案例
  17. Python ADF 单位根检验 结果理解
  18. pipe 半双工_linux进程间通信之管道(无名管道pipe)实现全双工双向通信
  19. easyloader [easyui_1.4.2] 分析源码,妙手偶得之
  20. 微信小程序全局变量的定义、使用、修改

热门文章

  1. python调研报告总结体会_学习调研心得体会
  2. Android 常用的函数记录
  3. java8 lambda 视频_一文搞懂Java8 Lambda表达式(附带视频教程)
  4. 计算机模块考试注意事项,常考计算机模块考试操作注意事项.doc
  5. buck电路pscad仿真_典型电路—电容10UF 和0.1UF并联使用的技巧常见于电源电路中,你知道其中的原理吗?...
  6. Laravel 查询某天数据 whereDate
  7. C#复习笔记(4)--C#3:革新写代码的方式(Lambda表达式和表达式树)
  8. SpringCloud基本模块分配搭建以及负载均衡
  9. JSP中getParameter和getAttribute区别
  10. oracle 去除重复的信息