Matlab中plot函数及legend函数详解及实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab中plot函数及legend函数详解及实例
作者--乘江枫
Matlab中plot函数全功能解
功能
二维曲线绘图
语法
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轴离散的点。
plot(X1,Y1,LineSpec,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形
plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)
此时完全等效于
plot(X1,Y1,LineSpec1,...)
hlod all
plot(X2,Y2,LineSpec2,...)
MATLAB中提供的线型属性有:
需要说明的是,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——指定标识符的大小
注意上面四个属性是针对当前坐标系中所有曲线的
颜色映象理解
MATLAB 有一个叫颜色映象的数据结构来代表颜色值。颜色映象定义为一个有三列和若干行的矩阵。利用0 到1 之间的数,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB 值,即红、黄、蓝三种颜色的强度,形成一种特定的颜色。一些有代表性的RGB 值在下表中给出。
Red(红) Green(绿) Blue(蓝) 颜色
0 0 0 黑
1 1 1 白
1 0 0 红
0 1 0 绿
0 0 1 蓝
1 1 0 黄
1 0 1 洋红
0 1 1 青蓝
0.667 0.667 1 天蓝
1 0.5 0 橘黄
0.5 0 0 深红
0.5 0.5 0.5 灰色
有十个MATLAB 函数产生预定的颜色映象:
hsv 色彩饱和值
hot 从黑到红到黄道白
cool 青蓝和洋红的色度
pink 粉红的彩色度
bone 带一点蓝色的灰度
jet hsv的一种变形(以蓝色开始
和结束)
copper 线性铜色度
prim 三棱镜。交替为红,橘黄,黄,
绿,天蓝
flag 交替为红,白,蓝,黑
gray x线性灰度
按缺省,上面所列的各个颜色映象产生一个64 × 3 的矩阵,指定了64 种颜色RGB 的描述。这些函数都接受一个参量来指定所产生矩阵的行数。比如hot(m) 产生一个m × 3 的矩阵,它包含的RGB 颜色值的范围从黑经过红、橘红和黄,到白。
大多数计算机在一个8 位的硬件查色表中一次可以显示256 种颜色,当然有些计算机的显示卡可以同时显示更多的颜色。这就意味着在不同的图中,一般一次可以用三或四个64 × 3 的颜色映象。如果使用了更多的颜色映象输入项,计算机必须经常在它的硬件查色表中调出输入项。比如,当在画MATLAB 图形时背景图案发生了变化,就是发生了这种情况。所以,除非计算机有一次显示更多种颜色的显示卡,最好任何一次所用的颜色映象输入项数都小于256 。
颜色映象使用: