当前位置:文档之家› Matlab中plot函数及legend函数详解及实例

Matlab中plot函数及legend函数详解及实例

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 allplot(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 。

颜色映象使用:语句colormap(M )将矩阵M 作为当前图形窗口所用的颜色映象。

例如,colormap (cool )装入了一个有64 个输入项的cool 颜色映象。

colormap default 装入了缺省的颜色映象(hsv )。

函数plot 、plot3 、contour 和contour3 不使用颜色映象,它们使用列在plot 颜色和线形表中的颜色。

而大多数其它绘图函数,比如mesh 、surf 、fill 、pcolor 和它们的各种变形函数,使用当前的颜色映象。

接受颜色参量的绘图函数中的颜色参量通常采用以下三种形式之一:(1 )字符串。

代表plot 颜色或线型表中的一种颜色,比如,’ r ‘ 代表红色;(2 )三个输入的行向量。

它代表一个单独的RGB 值,比如[.25 .50 .75] ;(3 )矩阵。

如果颜色参量是一个矩阵,其元素作了调整,并把它们用作当前颜色映象的下标。

实例% by dynamic% see also % 2009.8.20%X=1:10;% 两个都是数组,必须具有相同的尺寸X1=[X;X;X]';×3Y1=rand(10,3)+1;×3% 其中一个为向量,另一个为数组,自动匹配尺寸相等方向X2=1:0.1:10;%1×91Y2=[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,...%指定坐标系,可以省略,此时默认gcaX1,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')可以将标识框放置在图的左上角。

相关主题