MATLAB二维绘图技巧
- 格式:doc
- 大小:1.75 MB
- 文档页数:14
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中进行二维和三维绘图在科学研究和工程领域,数据可视化是一项十分重要的任务,而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轴上的数据点。
第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)保存和导出图形。
plot2在matlab中的用法MATLAB是一种功能强大的数值计算与科学可视化软件,常用于工程、科学和数学领域的开发和研究。
其中的plot2函数是用于绘制二维图形的工具之一,并提供了许多灵活的用法。
一、plot2函数的基本语法在MATLAB中,plot2函数的基本语法如下:plot2(x,y)其中,x和y是行向量,表示需要绘制的数据点的x坐标和y坐标。
二、绘制简单的二维折线图首先,我们来看一个简单的例子,使用plot2函数绘制一个二维折线图:matlabx = 1:10;y = x.^2;plot2(x,y)在以上代码中,我们定义了x从1到10的行向量,y为x的平方。
然后,通过plot2函数绘制了这些数据点,得到了一个折线图。
三、绘制多个数据集的折线图plot2函数还可以用于同时绘制多个数据集的折线图。
我们可以通过为每个数据集传入不同的x和y来实现这一点,如下所示:matlabx1 = 1:10;y1 = x1.^2;x2 = 1:10;y2 = x2.^3;x3 = 1:10;y3 = x3.^4;plot2(x1,y1,x2,y2,x3,y3)在以上代码中,我们定义了三组数据集,分别为x1和y1、x2和y2、x3和y3。
然后,通过将这些数据集传入plot2函数中,就可以同时绘制这些数据集的折线图。
四、自定义折线图的样式plot2函数还具有很多可调整的参数,使我们能够自定义折线图的样式。
下面是一些常用的参数和示例用法:1. 颜色:可以通过'-'或''来设置折线的样式,如下所示:matlabplot2(x,y,'r-')在以上代码中,我们使用红色的实线来表示折线。
matlabplot2(x,y,'b')在以上代码中,我们使用蓝色的虚线来表示折线。
2. 线宽:可以通过'LineWidth'参数来设置折线的线宽,如下所示:matlabplot2(x,y,'b-','LineWidth',2)在以上代码中,我们设置折线的线宽为2个单位。
强大的绘图功能是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二维图形绘图入门技巧一、plot函数1.plot函数的基本应用格式:2. 含多个输入参数的plot函数plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。
含多个输入参数的plot函举例如下:>>X=linspace(5,100,20) % 产生从5到100围的20个等分数据X =5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100ps:这和X=[5 : 5 : 100]的效果是一样的。
3.plot函数画矩阵利用plot函数可以直接将矩阵的数据绘制在图形窗体中,此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中。
如>> A=pascal(5)A =1111 11234 51 36101514102035151535704. plot函数生成的图像设置Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。
这些选项如表所示:w 白色h 六角星例 用不同的线型和颜色在同一坐标绘制曲线 及其包络线。
>> x=(0:pi/100:2*pi)'; %撇号表示对矩阵进行转置 >> y1=2*exp(-0.5*x)*[1,-1]; >> y2=2*exp(-0.5*x).*sin(2*pi*x); >> x1=(0:12)/2;>> y3=2*exp(-0.5*x1).*sin(2*pi*x1); >> plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp');01234567-2-1.5-1-0.500.511.52在该plot 函数中包含了3组绘图参数,第一组用黑色虚线画出两条包络线,第二组用蓝色双划线画出曲线y ,第三组用红色五角星离散标出数据点。
几组例子:指令图例Y=[1,3,6,5,9,0,2];plot(Y);X=0: pi/10: pi*2;Y=sin(X);plot(X,Y);X=0: pi/10: pi*2;Y1=sin(X);Y2=cos(X);Plot(X,Y1,X,Y2);指令图例Y=[1,3,6,5,9,0,2];plot(Y, 'r-+');X=0: pi/10: pi*2;Y=sin(X);plot(X,Y, 'b-.');X=0: pi/10: pi*2;Y1=sin(X); Y2=cos(X);plot(X,Y1,'r+-',X,Y2,'b-*');对plot函数生成的图像进行线宽、字体等设置plot(X1,Y1,LineSpec,’PropertyName’,PropertyValue)对plot生成的图形对象,用指定的properties进行设置。
PropertyNameColor 非标准颜色可用[r,g,b]指定,r,g,b取0和1之间的数值。
LineWidth 线宽LineStyle 线型Marker 点标记MarkerEdgeColor 点标记边框的颜色MarkerFaceColor 点标记面积的颜色MarkerSize 点标记的大小例X=0:1:20;Y=sin(X);plot(X,Y,'--rs','linewidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);X=0:1:20;Y=sin(X);plot(X,Y,'--kx','linewidth',5,'MarkerEdgeColor','b','MarkerFaceColor','r','MarkerSize',20);上述函数中的说明文字,除了使用标准的ASCII字符外,还可以使用LaTex(一种流行的数学排版软件)格式的控制字符,这样就可以在图形上添加希腊字符,数学符号和公式等容。
在Matlab支持的LaTex字符串中,用/bf , /it , /rm控制字符分别定义黑体、斜体和正体字符,受LaTex字符串控制部分要加大括号{}括起来。
例如,text(0.3,0.5,’the usful {/bf MATLAB}’),将使MATLAB一词黑体显示。
一些常用的LaTex字符见表,各个字符可以单独使用也可以和其他字符及命令配合使用。
如text(0.3 ,0.5 ,’sin({/omega}t+{/beta})’)常用的希腊字母等特殊字符用\加拼音如:\后字母大写的,表示是大写(如Ω\Omega),小字母的,表示小写(如ω\omega)<< \ll >> \gg在Matlab中输入上标、下标、特殊符号或字体:上标用^(指数),下标用_(下划线)输下标:_{wb}输上标:^{0.5}调用方式为: ^{任意字符}, _{任意字符}, 注意{}的使用!例:figure, title('\zeta^{-t}sint');figure, title('x~{\chi}_{\alpha}^{2}(3)');二、坐标轴设置1.坐标轴名称格式:xlabel(‘string’)Ylabel(‘string’)%分别给x轴和y轴添加标签2.围设置:a. axis([xmin xmax ymin ymax])设置坐标轴在指定的区间。
axis([-0.1, 8.1, -1.1, 1.1]); % 坐标轴的显示围b. axis auto 将当前绘图区的坐标轴围设置为MATLAB自动调整的区间c. axis manual 冻结当前坐标轴围,以后叠加绘图都在当前坐标轴围显示d. axis tight 采用紧密模式设置当前坐标轴围,即以用户数据围为坐标轴围比例。
e. axis equal 等比例坐标轴f. axis square 以当前坐标轴围为基础,将坐标轴区域调整为方格形g. axis normal 自动调整纵横轴比例,使当前坐标轴围的图形显示达到最佳效果围选项和比例设置可以联合使用,默认的设置为axis auto normalh. axisoff; %去掉坐标轴i. axistight; %紧坐标轴3.坐标轴其他参数设置:x = -pi/2:0.01:pi;plot(x,sin(x)) %先绘制个基本图形% gca: gca, h=figure(...);set(gca, 'XLim',[-pi/2pi]); %X轴的数据显示围set(gca,'XTick',[-pi/2:pi/4:pi]); %X轴的记号点set(gca,'XTick',[ ]); %消除X轴的记号点set(gca,'XTickLabel',{'-pi/2' '-pi/4:' '0' 'pi/4' 'pi/2' 'pi*3/4''pi'}) % X轴的记号set(gca,'XGrid','on'); %X轴的网格,竖线网格set(gca,'XDir','reverse'); %逆转X轴set(gca,'XColor','red'); %X轴的颜色set(gac,'Xscale','log') % x轴以log 形式显示set(gac,'YAxisLocation','right') %Y轴刻度放右边set(gca,'FontName','Times New Roman','FontSize',14) %设置坐标轴刻度字体名称,大小'FontWeight', 'bold' 加粗'FontAngle', 'italic' 斜体。
对字体的设置也可以用在title, xlabel, ylabel,legend等中,比如:set(get(gca, 'xlabel'),'FontName','Times New Roman','FontSize',14,'FontWeight','bold')注:gca 是用来返回当前axes (坐标图)对象的句柄plot(rand(2,1)) % 画一图set(gca,'xgrid','on') % gca表示当前的图,此时x轴添加了网格线4.坐标轴加网格线和边框给坐标加网格线可以用grid命令来控制,grid on/off命令控制画还是不画网格线,不带参数的grid命令在两种之间进行切换。
给坐标加边框用box命令控制。
和grid一样用法三、图像控制1.迭加绘图<1>hold on %保留当前图像与当前坐标轴的属性值,使用后面的图形命令只能在当前存在的坐标轴中增加图形。
<2>hold off %在绘制新图形之前,重新设置坐标轴的属性为默认值,关闭hold on 功能。
<3>hold %在on和off之间切换,即在增加图形和覆盖图形之间切换。
<4>hold all %保留当前颜色和线型,在绘制随后的图形时使用当前颜色和线型。
2.清空图像clf %清除所有当前图像窗口3.图名格式:title(‘string’) 在当前坐标轴上方正中央放置字符串string做为标题。
4.图片大小以及线宽和字号命令.set(gcf,'Units','centimeters','Position',[1010 7 5]);%设置图片大小为7cm×5cm%(the first element is the relative distance of the axes to the left edge of the figure,... %the second the vertical distance from the bottom, and then the width and height; set(gca,'Position',[.13 .17 .80 .74]); %设置xy轴在图片中占的比例set(get(gca,'XLabel'),'FontSize',8); %图上文字为8 point或小5号set(get(gca,'YLabel'),'FontSize',8);set(get(gca,'TITLE'),'FontSize',8);set(gca,'fontsize',8);set(gca,'linewidth',0.5); %坐标线粗0.5磅set(gca,'box','off'); %Controls the box around the plotting area set(get(gca,'Children'),'linewidth',1.5); %设置图中线宽1.5磅5.legend函数的基本用法legend (‘string1’, ‘string2’, ‘string3’, ...)分别将字符串1、2、3…标注到图中,每个字符串对应的图标为画图时的图标。