当前位置:首页 > MATLAB 高级二维维绘图讲解
图2-2 plot(y1)画线结果(例2-2)
图2-3 多组数据的plot结果(例2-2)
从图2-3可以看到,多组数据绘图时,MATLAB默认通过不同的颜色区分了各条曲线。实际上,plot函数绘图指令中就可以设置各条曲线的颜色、线型等属性,这时候plot函数对应的语法格式为:
plot(X1,Y1,LineSpec,...),
其中LineSpec就是一个指定曲线颜色、线型等特征的字符串。
plot函数采用plot(X1,Y1,LineSpec,...)的语法格式时,可以通过字符串LineSpec指定曲线的线型、颜色以及数据点的标记类型。这在突出显示原始数据点和个性化区分多组数据的时候是十分有用的。
例如’-.or’就表示连线采用点划线类型,数据点用圆圈标记,颜色都设为红色。需要注意的是,当指定了数据点标记类型,但不指定线型时,则表示只标记数据点,而不进行连线绘图。
MATLAB默认是用颜色区分多组曲线,但在只能黑白打印或显示的情况下,个性化的设置曲线线型就成了唯一的区分方法。
表2-2列出了MATLAB中可供选择的曲线线型、颜色和标记点类型。
表2-2 LineSpec可选字符串列表
线型 标识符 意义 - -. -- :
实线 虚线 点线
r b c m y k w
颜色 标识符 意义
红色 绿色 蓝色
标识符 + o *
数据点标记类型
意义 加号 圆圈 星号 点 交叉符号 方格 菱形 向上的三角形 向下的三角形 向左的三角形 向右的三角形
点划线 g
蓝绿色 . 洋红色 x 黄色 黑色 白色
square(或s) diamond(或d) ^ v > <
hexagram(或h)
pentagram(或p) 五边形
六边形
例2-3 在同一图形窗口中绘制sin(x)和sin(x?解:在MATLAB命令窗口中输入以下命令:
>>x=0:pi/20:2*pi; >>y1=sin(x);
>>y2=sin(x+pi/2);
>>plot(x,y1,'r:',x,y2,'+')
?2),并用不同的线型、颜色和标记点。
运行程序代码,输出如图2-4所示的结果图形:
图2-4 不同线性、不同颜色、不同标记点的图形(例2-3)
2.2.2低级绘图命令
MATLAB允许用户在图形窗口的任意位置用低级绘图命令line画直线或折线。 line函数的常用语法格式为:
line(X,Y)
其中X,Y都是一维数组,line(X,Y)能够把(X(i),Y(i))代表的各点用线段顺次连接起来,从而绘制出一条折线。
例2-4 画线函数line使用实例。利用函数line绘制y=sinx的图形。 解:在命令窗口输入以下命令:
>>x=0:0.4*pi:2*pi; >>y=sin(x); >>line(x,y)
运行以上程序代码后,得到如图2-4的图形:
图2-5 line函数画线(例2-4)
例2-5 画线函数line使用实例。利用函数line为sin(x)和sin(x?条水平线。
解:在MATLAB命令窗口输入以下代码
>>x=0:pi/20:2*pi; >>y1=sin(x);
>>y2=sin(x+pi/2);
>>plot(x,y1,'r:',x,y2,'+') %显示图形 >>line([0,7],[0.5,0.5]) >>line([0,7],[-0.5,-0.5])
?2)的图形上加上两
运行该程序代码,输出图2-5所示结果图形:
图2-6 添加有水平线的二维曲面图(例2-5)
2.2 二维图形的修饰
由前面的图2-1至2- 6可以看出,当利用plot命令绘图时,虽然运用起来比较简单,但它所自动产生的图形却显得有些简单,未能产生特殊的效果。为此MATLAB提供了一些图形函数,专门对由plot命令所画出的图形进行进一步的修饰,以使其更加美观、更便于应用。如坐标轴范围的设定(axis命令)、加坐标轴名称(xlabel、ylabel命令)、加网络(grid命令)、加图形加图题(title命令)、对图形进行文字注释(text命令)等。下面将分别进行讲述。
2.2.1 坐标轴的调整
MATLAB可以自动根据曲线数据的范围选择合适的坐标系,从而使得曲线能够尽可能清晰地显示出来,所以在一般情况下用户不必去进行坐标系的选择。但是,如果用户对MATLAB所自动生成的坐标轴不太满意的话,则可以利用axis所要绘制出的图形的坐标轴进行调整。
axis命令的功能非常丰富,按常用用法有如下4类: ? 调整坐标轴的范围; ? 调整坐标轴的状态; ? 保存调整坐标轴的范围; ? 保存坐标轴的状态。 2.2.1.1 调整坐标轴的范围
MATLAB采用axis函数可以根据需要适当调整坐标轴的范围,该函数调用格式是:
axis([xmin xmax ymin ymax])
此函数将所画的X轴的大小范围限定在{xmin,xmax}之间,Y轴的大小范围限定在{ymin,ymax}之间。
需要说明的是,在绘图时,由于图形的坐标已经给定,所以对坐标轴范围参数的更改,其实际效果也就相当于对原图形进行了放大或缩小处理。
例2-6 调整坐标轴函数axis使用实例。利用函数axis调整y=sinx的坐标轴范围。 解:在命令窗口输入下面的代码
>>x=0:pi/100:2*pi; >>y=sin(x);
>>line([0,2*pi],[0,0]) >>hold on; >>plot(x,y)
>>axis([0 2*pi -1 1])
执行程序后,可以得到如图2-7所示的图形。
而如果将最后的一条命令改为:
>>axis([0 2*pi -2 2])
就可以画出如图2-8所示的图形,其显示效果就好像对图2-7的Y轴进行了压缩。
共分享92篇相关文档