第26章 matlab二维图形
Matlab中二维图的绘制
Matlab中二维图的绘制
(1)准备图形数据
(2)选择图形的显示位置
(3)调用绘图指令并设置参数
(4)选择线性和标记属性
(5)设置坐标范围及网格线
(6)给图形加注释
(7)图形输出
网格图形是指连接相邻数据点形成的网状曲面,数据点是x-y平面的矩形网格上点的z轴坐标值。
网格图的绘制步骤如下:
(1)在x-y平面上指定一个矩形区域,采用与坐标轴平行的直线进行分格;
(2)计算矩形网格点的z轴坐标值,得到三维空间的数据点;(3)利用以上得到的数据点,将x-z平面或者y-z平面内,以及平行平面内的数据点连接,形成网格图。
MATLAB图形绘制-二维
MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、 颜色和数据点标记符号。 例如,“b-.”表示蓝色点画线,“y:d”表示黄色虚线并用菱 形符标记数据点。当选项省略时,MATLAB规定,线型一 律用实线,颜色将根据曲线的先后顺序依次采用表3.2给 出的前7种颜色。
表 3.1 线型选项 选 项 : --. 线 型 实线(默认值) 虚线 双画线 点画线
二维统计分析图 MATLAB中提供了多个函数可绘制各种条形图,bar函数 绘制柱形图,barh函数绘制水平条形图,stem函数绘制杆 图,errorbar函数绘制误差条图。 下面以bar函数为例说明用法。 bar函数的调用格式为 bar(x,width,style) 当x是m × n阶的矩阵时,绘制的条形图以分组或堆积的 形式表现。矩阵中每一行元素绘制在一组中,每一列元素 绘制在每组中相对应的位置上。其中,width设置条形的 相对宽度和控制在一组内条形的间距,默认值为0.8, style指定条形的排列模式,类型有'group'(分组)和 'stack'(堆积),默认时采用图命令每执行一次就刷新当前图形窗口,原有图形 将不复存在。若希望在已存在的图形上再叠加新的图形, 可使用图形保持hold on/off命令控制是保持原有图形还是 刷新原有图形。 例如: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on y2=1.5*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off
表 3.2 选 项 b( blue ) g( green ) r (red) c(cyan ) 颜色选项 颜 蓝色 绿色 红色 青色 色 选 项 颜 色 m (magenta) y (yellow) k (black ) w( white) 品红色 黄色 黑色 白色
利用MATLAB 绘制二维图形
利用MATLAB 绘制二维图形
1. 显函数的图形绘制
MATLAB 中二维显函数的调用格式为: (1)plot (x,y,s) x为自变量,y为函数,两者均为同长度的向量,分别表示点的横坐标 和纵坐标. (2)plot (x1,y1,s1,x2,y2,s2 , ,xn,yn,sn) s1,s2 , ,sn是颜色、标记点和线型参数, 可叠加使用. 若不设置参数s ,则默认画实线.常用参数见表8-5所示 .
例2
解
x linspace0 ,2 pi ,50; %设置自变量的范围 y1 sin x; y2 cos x;
plot(x ,y1,k ,x,y2 ,m ) %取不同参数画两条曲线 运行结果如图8-5所示 .
图8-5
利用MATLAB 绘制二维图形
2. 隐函数的图形绘制
MATLAB中二维隐函数的调用格式为 : (1)ezplot(fun,[a ,b]) fun为隐函数表达式,需用单引号界定 . [a ,b]用来指定自变
利用MATLAB 绘制二维图形
表8-5
利用MATLAB 绘制二维图形
例1
解
x 2 :0 . 01:2 ; %定义数组变量x ,从 2开始到2为止 ,步长 0.01 y x.2 1; %计算对应的函数值 plot (x ,y) 运行结果如图8-4所示 .
图8-4
利用MATLAB 绘制二维图形
量的取值范围,默认范围为2π ,2π .
(2)ezplot(funx ,funy,[a ,b])funx ,funy是用单引号界定的x(t)和y(t)的表达
式 ,[a ,b]为参数的取值范围,默认范围为0 ,2π .
利用MATLAB 绘制二维图形
例3
matlab二维图形的绘制
matlab二维图形的绘制(2006-11-20 20:38:35)转载▼分类:matlab基础(电子方向)常用的二维图形命令:plot:绘制二维图形loglog:用全对数坐标绘图semilogx:用半对数坐标(X)绘图semilogy:用半对数坐标(Y)绘图fill:绘制二维多边填充图形polar:绘极坐标图bar:画条形图stem:画离散序列数据图stairs:画阶梯图errorbar:画误差条形图hist:画直方图fplot:画函数图title:为图形加标题xlabel:在X轴下做文本标记ylabel:在Y轴下做文本标记zlabel:在Z轴下做文本标记text:文本注释grid:对二维三维图形加格栅绘制单根二维曲线plot函数,基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例如:在区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
MATLAB二维图形绘制的基本操作
6、坐标轴范围的设定
axis函数 x=0:pi/30:4*pi; plot(x,sin(x)); axis([0 4*pi -2 2])
‘hexagram’ 六角星
‘square’
□
2、离散序列图形的绘制
(1)stem(y) 以x=1,2,3,…为各个数据点的x坐标,以y向量的各个对 应元素为y坐标,在(x,y)坐标点画一个空心小圆圈,并连接 一条线段到X轴. x=[0,1,1,2,2,3,3,4,4] y=[1,1,0,0,1,1,0,0,1] stem(x,y)
其中包含了MATLAB的各种命令 M函数文件(functions)
M文件的编辑、保存、运行
M脚本文件(scripts)
theta=-pi:0.01:pi; rho(1,:)=2*sin(5*theta).^2;
rho(2,:)=cos(10*theta).^3;
rho(3,:)=sin(theta).^2; rho(4,:)=5*cos(3.5*theta).^3; for k=1:4 polar(theta, rho(k,:)) pause end
%axis([0 5 0 2])
2、离散序列图形的绘制
(2)stem(x,y,’option’) x=[0,1,1,2,2,3,3,4,4] y=[1,1,0,0,1,1,0,0,1]
stem(x,y,'r-.')
%axis([0 5 0 2])
2、离散序列图形的绘制
(3)stem(x,y) x=0:pi/30:3*pi; y=sin(x);
四、图形的绘制
1、二维图形的绘制
(1)plot(x)
当y为一向量时,以y的序号为X轴,按向量y的值绘制曲线.
如何在Matlab中进行二维和三维绘图
如何在Matlab中进行二维和三维绘图在科学研究和工程领域,数据可视化是一项十分重要的任务,而Matlab作为一种功能强大的数值计算和数据分析软件,自然也提供了丰富的绘图功能。
本文将介绍如何在Matlab中进行二维和三维绘图,并探讨一些常见的绘图技巧和应用。
一、二维绘图Matlab中的二维绘图是最常见和基础的绘图任务之一。
在绘制二维图形时,我们通常会用到plot函数。
这个函数可以接受单个向量作为输入,将这个向量的值作为y轴上的数据点,自动生成与该向量长度相同的x轴坐标。
例如,我们可以用以下代码绘制一个简单的二维折线图:```x = 0:0.1:2*pi;y = sin(x);plot(x, y);```上述代码中,x参量取从0到2π的均匀间隔的值,而y则是根据x计算得到的sin函数值。
plot函数会自动根据输入绘制折线图,并添加相应的轴标签和图例。
在实际应用中,我们经常需要绘制多条曲线在同一个坐标系中进行对比分析。
可以通过在plot函数中传入多个x和y向量实现这一功能。
例如,我们可以通过以下代码绘制一个简单的双曲线图:```x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);plot(x, y1, x, y2);```这样,就会在同一个坐标系中同时绘制sin曲线和cos曲线。
除了折线图,Matlab还支持其他常见的二维绘图类型,如散点图、柱状图和面积图等。
这些绘图类型可以通过不同的函数实现,例如scatter、bar和area等。
这里不再一一赘述,读者可以通过Matlab的帮助文档或官方网站了解更多的用法和示例。
二、三维绘图除了二维绘图,Matlab也提供了丰富的三维绘图功能,用于可视化更为复杂的数据和模型。
在绘制三维图形时,我们通常会用到surf函数。
这个函数可以接受两个二维矩阵作为输入,将这两个矩阵的值分别作为x、y轴上的坐标,而将第三个二维矩阵的值作为z轴上的数据点。
MATLAB二维图形的绘制函数全解
常用的二维图形命令:plot:绘制二维图形loglog:用全对数坐标绘图semilogx:用半对数坐标(X)绘图semilogy:用半对数坐标(Y)绘图fill:绘制二维多边填充图形polar:绘极坐标图bar:画条形图stem:画离散序列数据图stairs:画阶梯图errorbar:画误差条形图hist:画直方图fplot:画函数图title:为图形加标题xlabel:在X轴下做文本标记ylabel:在Y轴下做文本标记zlabel:在Z轴下做文本标记text:文本注释grid:对二维三维图形加格栅绘制单根二维曲线plot函数,基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例如:在0≤x≤2?区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
2.含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)(1) 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。
matlab二维绘图
二維繪圖--圖形與圖軸控制一、圖形控制plot(x, y, 'CLM')C:曲線的顏色(Colors)L:曲線的格式(Line Styles)M:曲線的線標(Markers)x = 0:0.5:4*pi; % x 向量的起始與結束元素為 0 及 4*pi, 0.5為各元素相差值y = sin(x);plot(x,y,'k:diamond') % 其中k代表黑色,:代表點線,而diamond則指定菱形為曲線的線標plot 指令的曲線顏色Plot指令的曲線顏色字串曲線顏色b 藍色(Blue)c 青藍色(Cyan)g 綠色(Green)k 黑色(Black)m 紫黑色(Magenta)r 紅色(Red)w 白色y 黃色(Yellow)plot 指令的曲線樣式Plot指令的曲線樣式字串曲線樣式- 實線(預設值)-- 虛線:點線-. 點虛線plot 指令的曲線線標Plot指令的曲線線標字串曲線線標O 圓形+ 加號X 叉號* 星號. 點號^ 朝上三角形V 朝下三角形> 朝右三角形< 朝左三角形square 方形diamond 菱形pentagram 五角星形hexagram 六角星形None 無符號(預設值)二、圖軸控制plot 指令會根據座標點自動決定坐標軸範圍,也可以使用axis指令指定坐標軸範圍使用語法:axis([xmin, xmax, ymin, ymax])xmin, xmax:指定 x 軸的最小和最大值ymin, ymax:指定 y 軸的最小和最大值x = 0:0.1:4*pi;y = sin(x);plot(x, y);axis([-inf, inf, 0, 1]); % 畫出正弦波 y 軸介於 0 和 1 的部份指定坐標軸上的網格點(Ticks)x = 0:0.1:4*pi;plot(x, sin(x)+sin(3*x))set(gca, 'ytick', [-1 -0.3 0.1 1]); % 在 y 軸加上網格點grid on % 加上網格gca:get current axis的簡稱,傳回目前使用中的坐標軸將網格點的數位元改為文字x = 0:0.1:4*pi;plot(x, sin(x)+sin(3*x))set(gca, 'ytick', [-1 -0.3 0.1 1]); % 改變網格點set(gca, 'yticklabel', {'極小', '臨界值', '崩潰值', '極大'}); % 改變網格點的文字grid on在一個視窗中同時畫出四個圖x = 0:0.1:4*pi;subplot(2, 2, 1); plot(x, sin(x)); % 左上角圖形subplot(2, 2, 2); plot(x, cos(x)); % 右上角圖形subplot(2, 2, 3); plot(x, sin(x).*exp(-x/5)); % 左下角圖形subplot(2, 2, 4); plot(x, x.^2); % 右下角圖形長寬比(Aspect Ratio)一般圖軸長寬比是視窗的長寬比, 可在axis指令後加不同的字串來修改t = 0:0.1:2*pi;x = 3*cos(t);y = sin(t);subplot(2, 2, 1); plot(x, y); axis normal %使用默認長寬比(等於圖形長寬比) subplot(2, 2, 2); plot(x, y); axis square %長寬比例為 1subplot(2, 2, 3); plot(x, y); axis equal %長寬比例不變,但兩軸刻度一致subplot(2, 2, 4); plot(x, y); axis equal tight %兩軸刻度比例一致,且圖軸貼緊圖形三、grid 和 box 指令grid on 畫出網格grid off 取消網格box on 畫出圖軸的週邊長方形box off 取消圖軸的週邊長方形給圖形和圖軸加說明文字指令說明title 圖形的標題xlabel x 軸的說明ylabel y 軸的說明zlabel z 軸的說明legend 多條曲線的說明text 在圖形中加入文字gtext 使用滑鼠決定文字的位置subplot(1,1,1);x = 0:0.1:2*pi;y1 = sin(x);y2 = exp(-x);plot(x, y1, '--*', x, y2, ':o');xlabel('t = 0 to 2\pi');ylabel('values of sin(t) and e^{-x}')title('Function Plots of sin(t) and e^{-x}');legend('sin(t)','e^{-x}');「\」為特殊符號,產生上標、下標、希臘字母、數學符號等text指令text(x, y, string)x、y :文字的起始座標位置string :代表此文字x = 0:0.1:2*pi;plot(x, sin(x), x, cos(x));text(pi/4, sin(pi/4),'\leftarrow sin(\pi/4) = 0.707');text(5*pi/4, cos(5*pi/4),'cos(5\pi/4) = -0.707\rightarrow', 'HorizontalAlignment', 'right'); 「HorizontalAlignment」及「right」將文字向右水準靠齊四、各種二維繪圖指令指令說明errorbar 在曲線加上誤差範圍fplot、ezplot 較精確的函數圖形polar、ezpolar 極座標圖形hist 直角座標直方圖(累計圖)rose 極座標直方圖(累計圖)compass 羅盤圖feather 羽毛圖area 面積圖stairs 階梯圖已知資料的誤差範圍,用 errorbar 表示。
matlab二维绘图
Matlab绘图二维绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。
此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
一.二维绘图二维图形是将平面坐标上的数据点连接起来的平面图形。
可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。
二维图形的绘制是其他绘图操作的基础。
一.绘制二维曲线的基本函数在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。
1.plot函数的基本用法plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。
plot函数的应用格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。
例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗口中输入以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。
例52 绘制曲线这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执行后,打开一个图形窗口,在其中绘制出如下曲线以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。
matlab二维绘图
三、Matlab绘图举例
例: t=0:0.1:10; y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi]; y=[-0.3;0.8]; s=['sin(t)';'cos(t)']; text(x,y,s); %标注 title('正弦和余弦曲线'); %标题 legend('正弦','余弦'); %添加图例 xlabel('时间t'),ylabel('正弦、余弦'); grid on; %打开坐标网格线 axis square; %刻度为双
18
y1 y2
三、Matlab绘图举例 例 3: t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5); plot(t,[y',y1',y2',y3',y4',y5']);%plot(向量,矩阵)
8
二、Matlab二维绘图基本命令
(一)plot命令
基本形式 polt(x,y)
x 是向量, y 是矩阵,若 x 的长度与 y 的行数相等, 则将 x 与 y 中的各列相对应,绘制多条平面曲线; 若 x 的长度与 y 的列数相等,则将 x 与 y 中的各行 相对应,绘制多条平面曲线。此时 x 的长度必须等 于 y 的行数或列数。
颜色
y m c r g b w k 黄色 棕色 青色 红色 绿色 蓝色 白色 黑色
matlab二维绘图剖析
Thank you !
图形窗口设置
x=0:pi/10:2*pi; y1=sin(x); y2=cos(x); y3=exp(x); subplot(2,2,1:2); plot(x,y1); subplot(2,2,3); plot(x,y2); subplot(2,2,4); plot(x,y3);
图形窗口设置
多窗口多曲线
颜色
y 黄色 m 棕色 c 青色 r 红色 g 绿色 b 蓝色 w 白色 k 黑色
根本函数plot
4.在MATLAB中,假设需要绘制出具有不同纵 坐标标度的两个图形,可以使用 plotyy(x1,y1,x2,y2)绘图函数。 其中x1,y1对应一条曲线,x2,y2对应另 一条曲线。横坐标的标度一样,纵坐标有 两个,左纵坐标用于x1,y1数据对,右纵 坐标用于x2,y2数据对
图形窗口设置
单窗口多曲线 1.plot函数 2.hold on函数 hold on 用于保持当前函数,使用以后用函数plot绘制的新图 形叠印在原来的图形上。 hold off用来取消原来图形的疼惜状态。 x=0:pi/10:2*pi; y1=sin(x); y2=cos(x); plot(x,y1); hold on; plot(x,y2); hold on;
同一x对应两纵坐标: ex: x1=0:pi/100:2*pi; x2=pi:pi/100:3*pi; y1=sin(x); y2=cos(x);
根本函数plot
同一x对应两纵坐标 plotyy(x,y1,x,y2)
ex: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plotyy(x,y1,x,y2)
ex: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,”-b”,x,y2,”--r”)
MATLAB二维图形的绘制函数全解
常用的二维图形命令:plot:绘制二维图形loglog:用全对数坐标绘图semilogx:用半对数坐标(X)绘图semilogy:用半对数坐标(Y)绘图fill:绘制二维多边填充图形polar:绘极坐标图bar:画条形图stem:画离散序列数据图stairs:画阶梯图errorbar:画误差条形图hist:画直方图fplot:画函数图title:为图形加标题xlabel:在X轴下做文本标记ylabel:在Y轴下做文本标记zlabel:在Z轴下做文本标记text:文本注释grid:对二维三维图形加格栅绘制单根二维曲线plot函数,基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例如:在0≤x≤2?区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
2.含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)(1) 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。
MATLAB二维图形及其应用
MATLAB绘制二维、三维图形例2-1在子图形窗口中画出上正弦、余弦曲线。
x=0:0.1*pi:2*pi;%按步长赋值生成x向量y=sin(x); z=cos(x);%生成正弦、余弦函数值y、z向量subplot(2,1,1)%分图形窗口为2行1列,并在第一个子窗中绘图plot(x,y,x,z)%在第一个子窗中画出正弦、余弦曲线subplot(2,1,2)%在第二个子窗中绘图plot(x,y,'k:',x,z,'r-')%在第二个子窗中用不同颜色画两条曲线hold on%保持第二个子窗中绘图plot(x,y,'bo',x,z,'k+')%用'o'和'+'标记曲线上分点hold off%取消图形保持例2-2画出上正弦、余弦曲线并对线型加粗、点型加大,重新定置坐标系以及加注相说明和注释。
x=0:0.1*pi:2*pi;%按步长赋值生成x向量y=sin(x); %生成正弦、余弦函数值y、z向量z=cos(x);plot(x,y, 'b-', x,z, 'k .-','linewidth',3, 'markersize',15)axis([-0.2*pi 2*pi -1.2 1.2])%重新设置图形窗口坐标轴范围grid%加注坐标网格xlabel('Variable \it{x}')%标记横坐标轴, \it{x}表示x为斜体ylabel('Variable \it{y}')%标记纵坐标轴title('Sine and Cosine Cruves')%标记图名text(2.5,0.7,'Sin(x)')%在(2.5,0.7)位置,标记曲线名称text(1.5,0.1,'Cos(x)')%在(1.5,0.1)位置,标记曲线名称hold on%图形保持,在同一图形窗口中叠加图形plot([0,2*pi],[0,0], 'r-.')%叠加一条红色的点划直线 0,0)到(2pi,0)hold off%图形保持取消,再画图时将另辟窗口例2-3分别在两个图形窗口画出填充一正方形和极坐标方程的图形。
matlab二维平面图形的绘制
1、基本图形函数函数polt是针对向量或矩阵的列来绘制曲线的,其命令格式:(1)plot(x)当x是一向量时,以其元素为纵坐标,其序号为横坐标。
(2)plot(x,y)(3)plot(x,y1,x,y2,...)绘制多条曲线例>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2)参数选项y黄 m紫 c青 r红 g绿 b蓝 w白 k黑-实线 :点线 -.点划线 --虚线.点 o圆 x叉号 +加号 *星号 v下三角 ^上三角>大于号 <小于号 s正方形 d菱形 h六角形 p五角星例>> plot(x,y1,'r+-',x,y2,'k*:')2、图形修饰图形修饰函数:grid on(/off) 添加或取消网格xlabel('string')标记横坐标ylabel('string')标记横坐标title('string')添加标题text(x,y,'string')在图形的任意位置增加文本信息gtext('string')利用鼠标添加文本信息axis([xmin xmax ymin ymax])设置坐标轴的最小最大值例>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2)>> grid on>> xlabel('Independent Variable X') >> ylabel('Dedependent Variable Y1&Y2') >> title('sine and cosine curve')>> text(1.5,0.3,'cos(x)')>> gtext('sin(x)')>> axis([0 2*pi -0.9 0.9])除此之外,在图形窗口中也提供了图形编辑功能,放大、旋转等等3、图形的比较显示两种方法:(1)hold on(/off)将新产生的图形曲线叠加到已有图形上去(2)subplot(n,m,k)将图形窗口进行分割例>> x=-pi:pi/10:pi;>> y1=sin(x);>> y2=cos(x);>> y3=x;>> y4=x.^2;>> plot(x,y1,x,y2) >> hold on>> plot(x,y3)>> plot(x,y4)>> hold off>> plot(x,x)例>> x=-pi:pi/10:pi; y1=sin(x);y2=cos(x);y3=x;y4=x.^2;>> subplot(2,2,1); >> plot(x,y1); >> subplot(2,2,2);>> plot(x,y2);>> subplot(2,2,3); >> plot(x,y3); >> subplot(2,2,4); >>plot(x,y4);。
MATLAB二维图形注释命令
MATLAB二维图形注释命令(zz)命令1 grid功能给二维或三维图形的坐标面增加分隔线。
该命令会对当前坐标轴的Xgrid,Ygrid,Zgrid的属性有影响。
用法grid on 给当前的坐标轴增加分隔线。
grid off 从当前的坐标轴中去掉分隔线。
grid 转换分隔线的显示与否的状态。
grid(axes_handle,on|off) 对指定的坐标轴axes_handle是否显示分隔线。
命令2 gtext功能在当前二维图形中用鼠标放置文字。
当光标进入图形窗口时,会变成一个大十字,表明系统正等待用户的动作。
用法gtext('string') 当光标位于一个图形窗口内时,等待用户单击鼠标或键盘。
若按下鼠标或键盘,则在光标的位置放置给定的文字“string”h = gtext('string') 当用户在鼠标指定的位置放置文字“string”后,返回一个text图形对象句柄给h。
命令3 legend功能在图形上添加图例。
该命令对有多种图形对象类型(线条图,条形图,饼形图等)的窗口中显示一个图例。
对于每一线条,图例会在用户给定的文字标签旁显示线条的线型,标记符号和颜色等。
当所画的是区域(patch或surface对象)时,图例会在文字旁显示表面颜色。
Matlab在一个坐标轴中仅仅显示一个图例。
图例的位置有几个因素决定,像遮挡的对象等,用户可以用鼠标拖动图例到恰当的位置,双击标签可以进入标签编辑状态。
用法legend('string1','string2',…) 用指定的文字string在当前坐标轴中对所给数据的每一部分显示一个图例。
legend(h,'string1','string2',…) 用指定的文字string在一个包含于句柄向量h中的图形显示图例。
用给定的数据对相应的图形对象加上图例。
legend(string_matrix) 用字符矩阵参量string_matrix的每一行字符串作为标签。
MATLAB二维绘图
第2章 MATLAB二维绘图22.1 二维绘图基本流程22.2 二维图形的基本绘图命令42.2.1 高级绘图命令42.2.2低级绘图命令62.2 二维图形的修饰82.2.1 坐标轴的调整82.2.1.1 调整坐标轴的围82.2.1.2 调整坐标轴的状态92.2.1.3 保存坐标轴的围112.2.1.4 保存坐标轴的状态112.2.2画出或取消网格线122.2.3设置坐标轴的名称122.2.4设置图形标题132.2.5在图形中显示文字142.2.5.1用坐标轴确定文字位置142.2.5.2用鼠标确定位置显示文字152.2.6 图形的标定和颜色条162.2.7 使用绘图工具栏标注图形182.3 填充图形的绘制192.4 多坐标系绘图与图形窗口的分割202.4.1 图形叠印法202.4.2 子图的绘制212.5 特殊坐标图形的绘制222.5.1 绘制极坐标图形232.5.2对数/半对数坐标系绘图232.6 特殊二维图形的绘制242.4.3 直方图242.4.1 柱状图和面积图262.4.2 饼图282.4.4 离散数据绘图282.4.5 等高线图302.4.6 向量图312.7 函数绘图342.7.1 fplot函数342.7.2函数function的定义352.8 工作空间直接绘图362.9 手工绘图方式382.10 小结41第2章 MATLAB二维绘图数据可视化是MATLAB一项重要功能,它所提供的丰富绘图功能,使得从繁琐的绘图细节中脱离出来,而能够专心于最关心的本质。
通过数据可视化的方法,工程科研人员可以对自己的样本数据的分布、趋势特性有一个直观的了解。
本章将重点介绍MATLAB二维图形的绘制方式,并按照完整的步骤来说明一个图形产生的流程,以便将数据以图形形式来识别。
通过本章,读者不仅能掌握二维绘图的基本流程,而且能熟练使用MATLAB中相应的绘图命令、函数来绘制二维图形。
2.1 二维绘图基本流程在MATLAB中绘制图形,通常采用以下7个步骤:(1)准备数据;(2)设置当前绘图区;(3)绘制图形;(4)设置图形中曲线和标记点格式;(5)设置坐标轴和网格线属性;(6)标注图形;(7)保存和导出图形。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.调出图形和摄影机工具栏:View—Figure/Camera(该菜单在图形窗口中)。
2.图形特性的有关设置可以通过菜单、工具栏和函数都能实现。
3.plot函数, plot函数是绘制二维图形最常用的函数。
(1)绘制正弦图像:x=linspace(0,2*pi,30)y=sin(x)plot(x,y),title('Figure 26.1: Sine Wave')当plot函数被调用时,便打开一个称为图形窗口的视窗,将两个坐标轴进行适当缩放以满足数据绘制的要求,然后再指定的位置上绘制出数据点,最后将数据点用直线连接起来。
plot函数能自动给坐标轴标注上坐标值以及标号。
如果图形窗口已经存在,plot函数就会自动将当前图形檫除然后绘出新的图形。
(2)在一幅图形上绘制多条曲线或直线z=cos(x)plot(x,y,x,z)title('Figure 26.2:Sine and Cosine')只要在调用plot函数时给它提供第二个参数对(如x-z),该函数就会绘制出另一个曲线,且以不同的颜色显示。
实际上对于plot函数而言,能绘制的曲线个数是没有限制的,用户传递多少个输入参数对,就能画出多少条曲线。
(3)输入参数对一个是矩阵,一个是向量,则plot函数会将矩阵中的每一列与向量参数组成一个输入对,分别绘制出相应的图形。
例如:w=[y;z]plot(x,w)绘制出来的图形与(2)相同;如果改变参数对的顺序,plot函数就将绘制的图形旋转90度。
例如plot(w,x)title('Figure 26.3:Change Argument Order')(4)也可以只用一个输入参数Y调用plot函数。
此时,plot函数就会根据参数包含的数据进行不同的操作:对于复数向量,plot(Y)就相当于执行plot(real (Y),imag(Y))(注意:只有在单输入参数情况下,plot函数才会绘制复数的虚部图形,在其它情况下,输入向量的虚部是被忽略的);Y是实值向量,那么plot(Y)就相当于执行plot(1:length(Y),Y),plot函数将以Y的各元素的索引值为横坐标,以Y为纵坐标绘制出图形;当Y是一个矩阵时,就将Y的每一列视为实数向量来处理。
4.线形、标记和颜色在用户没有指定的情况下,Matlab的绘图函数就会默认地选择实线线型,并以默认的颜色顺序来绘制每一个图形的颜色。
不过,Matlab的绘图函数允许用户如果用户没有声明颜色,并且在使用默认颜色机制,Matlab就为每一条新增加的线从上边的表格的前7中颜色的蓝色和圆圈从上到下依次选择颜色和标记类型。
默认的线型是实线,除非用户显式地声明另一种线型。
没有默认的标记,如果没有选择标记,那么就不会画标记。
如果选择了任何一个标记,那么就会在每一个数据点的位置画出所选择的标记符号,但是不会用直线连接这些数据点,除非同时还声明了线型。
如果字符串中包含了颜色、标记和线型,那么就将颜色应用到标记和线条中,为了给标记声明一个不同的颜色,可用不同的声明字符串在绘制一个相同的数据。
例如:plot(x,y,'b:p',x,z,'c-',x,1.2*z,'m+')三种符号的组合没有先后顺序5.图形栅格、轴框和标签(1)grid on 添加栅格线在坐标标记线位置到当前图形中,grid off将栅格线删除。
单个grid命令在添加栅格线和删除栅格线之间切换,对于多数图形,默认的设置是grid off。
如果想要给所有图形都默认加上栅格线,那么将下列几行语句添加到用户的startup.m:set(0,’DefaultAxesXgrid’,’on’)set(0,’DefaultAxesYgrid’,’on’)set(0,’DefaultAxesZgrid’,’on’)(2)通常情况下,二维坐标轴是用实线完全包围起来的,这些实线被称为轴箱(axes box)。
可以用box off关闭,用box on恢复。
box命令在轴箱的打开和关闭状态之间实现切换。
用xlabel和ylabel函数分别给水平和垂直坐标轴添加标签。
title函数在图形的顶端加上一行文本。
x=linspace(0,2*pi,30)y=sin(x)z=cos(x)plot(x,y,x,z)box offxlabel('Independent Variable X')ylabel('Dependent Variables Y and Z')title ('Figure 26.5 :Sine and Cosine Curves,No box')(3)text函数在用户图形的任何指定位置添加一个标签或者任何其他文本字符串。
text的语法为text(x,y,’string’),其中(x,y)标明了以图形坐标轴的单位为单位表示的文本字符串的中左边界的坐标。
例如grid onbox ontext(2.5,0.7,'sin(x)')如果用户想要添加一个标签,但是又不想停下来给出使用的坐标,可以使用鼠标来放置一个文本字符串。
函数gtext(‘text’)切换到当前的图形窗口,并给出一个随鼠标移动的十字图标,等待鼠标点击或者按下键盘按键。
当用户点击鼠标或者按下键盘按键时,gtext的字符串参数就被放置在鼠标所在位置,字符串的左下角所在位置就是鼠标所在位置。
6.定制图形坐标轴Matlab利用命令axis,使得用户可以完全控制图形的水平和垂直坐标轴的刻度可以同时给出axis的多个命令,例如axis auto on xy是默认的坐标轴刻度。
这个axis命令只影响当前的图形。
它是在plot命令后输入的,就像grid、xlabel、ylabel、title和text等命令一样,都是在plot已经在屏幕上显示了以后输入的命令:x=linspace(0,2*pi,30)y=sin(x)plot(x,y)title('Figure 26.7:Fixed Axis Scaling')axis([0 2*pi -1.5 2])通过将x轴的最大值设定为2*pi,这个图形的坐标轴就在2*pi的地方结束了。
当用户仅仅想改变一个坐标轴的坐标限时,axis就显麻烦了。
因为它要求输入所有坐标轴的坐标极限。
Matlab为了解决这个问题,提供了函数xlim、ylim和zlim。
7.多个图形用户可以用hold命令在已经存在的图形上添加一个新的图形。
当输入hold on命令,在用户输入新的plot函数时,Matlab不会将现存坐标轴删除,而将新的曲线添加到当前坐标轴。
新的数据超出当前坐标限的范围时,Matlab就将坐标轴重新刻度。
输入hold off命令将当前图形窗口中的图形释放,用以绘制新的图形。
不带参数的hold 命令实现hold设置的切换。
x=linspace(0,2*pi,30)y=sin(x)z=cos(x)plot(x,y)hold onishold %return 1 (true)if hold is ONplot(x,z,'m')hold offisholdtitle 'Figure 26.8:Use of hold command'注意:第二条曲线声明了颜色,因为每个plot函数中只有一组数据数组,因此不特别声明,每个plot函数线条的颜色就会被设置成颜色列表中的第一种颜色,这样两条曲线就会颜色相同。
另外,本例中标题文本没有包含括号,但效果和加括号一样,title使用的格式中,title被解释为一个命令而不是一个函数。
8.多个图形窗口生成新的图形窗口,在命令中使用figure,或者选择命令窗口或图形窗口File 菜单中的New Figure菜单项。
用鼠标或者figure(n)来选定特定窗口为被激活的或者当前的图形窗口,n是窗口的编号。
每生成一个图形窗口,就用一个数字来标记它或者说句柄被返回并且存储下来。
close关闭当前窗口close(n)关闭句柄为n的窗口close all 关闭所有窗口如果用户只想将一个图形窗口的内容檫除而不关闭它,就用命令clf。
clf reset 将当前图形窗口檫除,然后将诸如hold的所有属性重新设置为默认状态。
9.子窗一个图形窗口可以包含多套坐标轴系。
命令subplot(m,n,p)将当前的图形窗口分成一个维数为m×n的绘图区域数组,并且将第p个绘图区域选定为当前的绘图区域。
子图是从最上边第一行开始从左到右,逐行进行编号。
x=linspace(0,2*pi,30)y=sin(x)z=cos(x)a=2*sin(x).*cos(x)b=sin(x)./(cos(x)+eps)subplot(2,2,1)plot(x,y),axis([0 2*pi -1 1]), title('Figure 26.9a:sin(x)')subplot(2,2,2)plot(x,z),axis([0 2*pi -1 1]), title('Figure 26.9b:cos(x)')subplot(2,2,3)plot(x,a),axis([0 2*pi -1 1]), title('Figure 26.9c:2sin(x)cos(x)')subplot(2,2,4)plot(x,b),axis([0 2*pi -20 20]), title('Figure 26.9d:sin(x)/cos(x)') 特定子图激活时,它唯一对命令起响应,其他子图不受影响。
被激活的子图在用户输入subplot或者figure命令之前一直保持激活状态。
当输入新的subplot 命令改变了在图形窗口中的子图数量时,原来的子图就被檫除。
为了回到默认的模式并且整个图形窗口只用一套坐标轴,可以用命令subplot(1,1,1).10.交互式画图工具(1)图例closex=linspace(0,2*pi,30)y=sin(x)z=cos(x)plot(x,y,x,z)legend('sin(x)','cos(x)') %添加图例title('Figure 26.10:Legend Example')legend off % 删除图例图例可以通过菜单栏Insert-Legend或者来实现。
(2)局部放大或缩小命令zoom on 将放大模式打开,在图形窗口单击一次,图形就以鼠标单击的点为圆心放大2倍;单击一次放大一次,右击一次图形缩小2倍。