第7章 绘图与图形处理
人们很难从一大堆原始的数据中发现它们的含义,而数据图形恰能使视觉感官直接感受到数据的许多内在本质,发现数据的内在联系。MATLAB可以表达出数据的二维,三维,甚至四维的图形。通过图形的线型,立面,色彩,光线,视角等属性的控制,可把数据的内在特征表现得淋漓尽致。下面我们分别介绍图形的命令。
7.1 二维图形
7.1.1 基本平面图形命令
命令1 plot
功能 线性二维图。在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(current axes ColorOrder property)定义的颜色,以区别不同的线条。在用完上述属性值后,plot又循环使用由坐标轴线型顺序属性(axes LineStyleOrder property)定义的线型,以区别不同的线条。文档来自于网络搜索 用法 plot(X,Y) 当X,Y均为实数向量,且为同维向量(可以不是同型向量),X=[x(i)],
Y=[y(i)],则plot(X,Y)先描出点(x(i),y(i)),然后用直线依次相连;若X,Y为复数向量,则不考虑虚数部分。若X,Y均为同维同型实数矩阵,X = [X(i)],Y = [Y(i)],其中X(i),Y(i)为列向量,则plot(X,Y)依次画出plot(X(i),Y(i)),矩阵有几列就有几条线;若X,Y中一个为向量,另一个为矩阵,且向量的维数等于矩阵的行数或者列数,则矩阵按向量的方向分解成几个向量,再与向量配对分别画出,矩阵可分解成几个向量就有几条线;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。文档来自于网络搜索 plot(Y) 若Y为实数向量,Y的维数为m,则plot(Y)等价于plot(X,Y),其中x=1:
m;若y为实数矩阵,则把y按列的方向分解成几个列向量,而y 的行数为n,则plot(Y)等价于plot(X,Y)其中x=[1;2;…;n];在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。文档来自于网络搜索 plot(X1,Y1,X2,Y2,…),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,…)将分别按顺
序取两数据Xi与Yi进行画图。若其中仅仅有Xi或Yi是矩阵,其余的为向量,向量维数与矩阵的维数匹配,则按匹配的方向来分解矩阵,再分别将配对的向量画出。文档来自于网络搜索 plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2…) 将按顺序分别画出由三参数定义
Xi,Yi,LineSpeci的线条。其中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。在plot 命令中我们可以混合使用三参数和二参数的形式:
文档来自于网络搜索 plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3)
plot(…,'PropertyName',PropertyValue,…) 对所有的用plot生成的line图形对象中
指定的属性进行恰当的设置。文档来自于网络搜索 h = plot(…) 返回line图形对象句柄的一列向量,一线条对应一句柄值。 说明 参数LineSpec
功能 定义线的属性。Maltab允许用户对线条定义如下的特性: 1.线型
表7-1
定义符 线型 - 实线(缺省值) -- 划线 : 点线 -. 点划线 2.线条宽度
指定线条的宽度,取值为整数(单位为像素点) 3.颜色
表7-2
定义符 颜色 定义符 颜色 R(red) 红色 M(magenta) 品红 G(green) 绿色 y(yellow) 黄色 b(blue) 兰色 k(black) 黑色 c(cyan) 青色 w(white) 白色 4.标记类型 表7-3
定义符 标记类型 定义符 标记类型 定义符 标记类型 + 加号 d 棱形 s 正方形 o(字母) 小圆圈 ^ 向上三角形 h 正六角星 * 星号 v 向下三角形 P 正五角星 . 实点 > 向右三角形 x 交叉号 < 向左三角形 5.标记大小 指定标记符号的大小尺寸,取值为整数(单位为像素) 6.标记面填充颜色
指定用于填充标记符面的颜色。取值在上表。 7.标记周边颜色
指定标记符颜色或者是标记符(小圆圈、正方形、棱形、正五角星、正六角星和四个方向的三角形)周边线条的颜色。取值在上表。文档来自于网络搜索 在所有的能产生线条的命令中,参数LineSepc可以定义线条的下面三个属性:线型、标记符号、颜色进行设置。对线条的上述属性的定义可用字符串来定义,如:plot(x,y,'-.or')
文档来自于网络搜索 结合x和y,画出点划线(-.),在数据点(x,y)处画出小圆圈(o),线和标记都用红色画出。其中定义符(即字符串)中的字母、符号可任意组合。若没有定义符,则画图命令plot自动用缺省值进行画图。若仅仅指定了标记符,而非线型,则plot只在数据点画出标记
229 / 55
符。如:plot(x,y,’d’)文档来自于网络搜索 例7-1
>>t = 0:pi/20:2*pi; >>plot(t,t.*cos(t),'-.r*') >>hold on
>>plot(exp(t/100).*sin(t-pi/2),'--mo') >>plot(sin(t-pi),':bs') >>hold off
图形结果为图7-1。 例7-2
>>plot(t,sin(2*t),'-mo', 'LineWidth',2,'MarkerEdgeColor','k',…文档来自于网络搜索 'MarkerFaceColor',[.49 1 .63],'MarkerSize',12)
图形结果为图7-2。
图7-1 二维曲线图 图7-2 二维图形的绘制
命令2 fplot
功能 在指定的范围limits内画出一元函数y=f(x)的图形。其中向量x的分量分布在指定的范围内,y是与x同型的向量,对应的分量有函数关系:y(i)=f(x(i))。若对应于x的值,y返回多个值,则y是一个矩阵,其中每列对应一个f(x)。例如,f(x)返回向量[f1(x),f2(x),f3(x)],输入参量x=[x1;x2;x3],则函数f(x)返回矩阵文档来自于网络搜索 f1(x1) f2(x1) f3(x1) f1(x2) f2(x2) f3(x2) f1(x3) f2(x3) f3(x3)
注意一点的是,函数function必须是一个m-文件函数或者是一个包含变量x,且能用函数eval计算的字符串。例如:’sin(x)*exp(2*x)’,’[sin(x),cos(x)]’,’hump(x)’。文档来自于网络搜索 用法 fplot('function',limits) 在指定的范围limits内画出函数名为function的一元函数图
形。其中limits是一个指定x-轴范围的向量[xmin xmax]或者是x轴和y轴的范围的向量[xmin xmax ymin ymax]。文档来自于网络搜索 fplot('function',limits,LineSpec) 用指定的线型LineSpec画出函数function。文档来自于网络搜索 fplot('function',limits,tol) 用相对误差值为tol画出函数function。相对误差的缺省
值为2e-3。文档来自于网络搜索