当前位置:首页 > MATLAB 高级二维维绘图讲解
第2章 MATLAB二维绘图 ........................................................................................................... 2
2.1 二维绘图基本流程 ............................................................................................................ 2 2.2 二维图形的基本绘图命令 ................................................................................................ 4
2.2.1 高级绘图命令 ....................................................................................................... 4 2.2.2低级绘图命令 ........................................................................................................ 6 2.2 二维图形的修饰 ................................................................................................................ 8
2.2.1 坐标轴的调整 ....................................................................................................... 8
2.2.1.1 调整坐标轴的范围 ................................................................................... 8 2.2.1.2 调整坐标轴的状态 ................................................................................... 9 2.2.1.3 保存坐标轴的范围 ................................................................................. 11 2.2.1.4 保存坐标轴的状态 ................................................................................. 11 2.2.2画出或取消网格线 .............................................................................................. 12 2.2.3设置坐标轴的名称 .............................................................................................. 12 2.2.4设置图形标题 ...................................................................................................... 13 2.2.5在图形中显示文字 .............................................................................................. 14
2.2.5.1用坐标轴确定文字位置 .......................................................................... 14 2.2.5.2用鼠标确定位置显示文字 ...................................................................... 15 2.2.6 图形的标定和颜色条 ......................................................................................... 16 2.2.7 使用绘图工具栏标注图形 ................................................................................. 18 2.3 填充图形的绘制 .............................................................................................................. 19 2.4 多坐标系绘图与图形窗口的分割 .................................................................................. 20
2.4.1 图形叠印法 ......................................................................................................... 20 2.4.2 子图的绘制 ......................................................................................................... 21 2.5 特殊坐标图形的绘制 ...................................................................................................... 22
2.5.1 绘制极坐标图形 ................................................................................................. 23 2.5.2对数/半对数坐标系绘图 .................................................................................... 23 2.6 特殊二维图形的绘制 ...................................................................................................... 24
2.4.3 直方图 ................................................................................................................... 24 2.4.1 柱状图和面积图 ................................................................................................... 26 2.4.2 饼图 ....................................................................................................................... 28 2.4.4 离散数据绘图 ....................................................................................................... 28 2.4.5 等高线图 ............................................................................................................... 30 2.4.6 向量图 ................................................................................................................... 31 2.7 函数绘图 .......................................................................................................................... 34
2.7.1 fplot函数 ............................................................................................................... 34 2.7.2函数function的定义 ............................................................................................ 35 2.8 工作空间直接绘图 .......................................................................................................... 36 2.9 手工绘图方式 .................................................................................................................. 38 2.10 小结 ................................................................................................................................ 41
第2章 MATLAB二维绘图
数据可视化是MATLAB一项重要功能,它所提供的丰富绘图功能,使得从繁琐的绘图细节中脱离出来,而能够专心于最关心的本质。通过数据可视化的方法,工程科研人员可以对自己的样本数据的分布、趋势特性有一个直观的了解。
本章将重点介绍MATLAB二维图形的绘制方式,并按照完整的步骤来说明一个图形产生的流程,以便将数据以图形形式来识别。
通过本章,读者不仅能掌握二维绘图的基本流程,而且能熟练使用MATLAB中相应的绘图命令、函数来绘制二维图形。
2.1 二维绘图基本流程
在MATLAB中绘制图形,通常采用以下7个步骤: (1)准备数据;
(2)设置当前绘图区; (3)绘制图形;
(4)设置图形中曲线和标记点格式; (5)设置坐标轴和网格线属性; (6)标注图形;
(7)保存和导出图形。
二维图形的绘制,也通过上述7个步骤来完成。下面以实例来说明二维绘图的各个主要步骤。
例2-1 MATLAB中典型的二维图形绘制流程实例。在同一坐标轴上绘制sin(x)、sin(2x)和sin(3x)这三条曲线。
解:在MATLAB中,通过如表2-1所示的步骤来实现上述图形绘制。
表2-1 基本绘图流程
绘图步骤 1. 数据准备 2. 设置当前绘图区 3. 绘图
4. 设置图形中曲线和标记点格式
5. 设置坐标轴和网格线属性 6. 标注图形 7. 保存和导出图形
在图形中添加标题、坐标轴标注、文字标注等 按指定文件格式、属性保存或导出图形 将坐标轴的范围设置在指定曲线
主要工作
准备好绘图需要的横坐标变量和纵坐标变量数据
在指定的位置创建新的绘图窗口,并自动以此窗口的绘图为当前绘图区 创建坐标轴,指定叠加绘图模式,绘制函数曲线
设置图形中的线宽、线型、颜色和标记点的形状、大小、颜色等。
对于此题,在MATLAB编写createfigure函数来实现,createfigure函数的代码如下:
%******************************************************** %程序:EX201.M
%功能:作出具有较为完整流程的二维图形
%********************************************************
function createfigure(x1, y1) %创建图形绘制函数 x1=0:0.02*pi:2*pi; % 定义X1的范围及刻度
y1=[sin(x1);sin(2*x1);sin(3*x1)]; %定义Y1的范围及刻度
figure1 = figure('PaperPosition',[0.6345 6.345 20.3 15.23],'PaperSize',[20.98 29.68]); axes1 = axes('Parent',figure1);
axis(axes1,[0 6.283 -2 2]); %建立坐标轴
title(axes1,'sin(x)/sin(2x)/sin(3x)'); %图形标注 xlabel(axes1,'x'); ylabel(axes1,'y'); box(axes1,'on'); hold(axes1,'all');
plot1 = plot(x1,y1); %显示图形 text1 = text(...
'Position',[1.136 -0.9532 0],... 'String','y=sin(x)',...
'VerticalAlignment','baseline',... 'Parent',axes1); %创立文字标注
text2 = text(...
'Position',[2.266 -0.8947 0],... 'String','y=sin(2x)',...
'VerticalAlignment','baseline',... 'Parent',axes1); %创立文字标注
text3 = text(...
'Position',[3.395 0.8947 0],... 'String','y=sin(3x)',...
'VerticalAlignment','baseline',... 'Parent',axes1); %创立文字标注
运行该程序后,输出如图2-1所示的结果:
图2-1 二维图形绘制输出的结果(例1-1)
在图形的绘制流程中,需要注意的是:
(1)上面所谓的7个步骤的顺序也不是完全固定,尤其是其中对图形进行修饰标注的4、5、6步骤,完全可以改变顺序;
(2)MATLAB中对于图形中的曲线和标记点格式有默认的设置,这在一般情况下是可以满足使用者需要的,因此对于只是想大概察看一下数据分布的用户,只需要进行第1、3步工作就可以了。
2.2 二维图形的基本绘图命令
MATLAB提供了两种级别的二维图形基本绘图命令: (1)高级绘图命令plot
它以一体化的方式绘出图形,即用户只须给出图形定义数据,绘图范围、刻度大小等,细节内容都可由系统自动确定。
(2)低级绘图命令line
它允许用户在图形窗口的任意位置用低级绘图命令line画直线或折线。 下面分别进行讲述。
2.2.1 高级绘图命令
plot函数是MATLAB中最核心的二维绘图函数,它有多种语法格式可以实现多种功能。 (1)最简单的用法plot(Y)
当Y是一维数组时,plot(Y)是把(i,X(i))各点顺次连接起来,其中i的取值范围从1到length(X)。
当Y是普通的二维数组时,相当于对Y的每一列进行plot(Y(:,i))画线,并把所有的折线累叠绘制在当前坐标轴下。
(2)最常用的用法plot(X,Y)
plot最常用的语法格式是接受两个参数的plot(X,Y)
当X和Y都是一维数组时,功能和line(X,Y)类似;但plot函数中的X和Y也可以是一般的二维数组,这时候就是对X和Y的对应列画线。
特别的,当X是一个向量,Y是一个在某一方向和X具有相同长度的二维数组时,plot(X,Y)则是对X和Y的每一行(或列)画线。
(3)拓展的用法plot(X1,Y1,X2,Y2,….Xn,Yn)
对多组变量同时进行绘图了,对于每一组变量,其意义同前所述。
例2-2高级绘图函数plot绘图实例。利用plot(x)和多组变量的语法格式绘制y=sinx、y=cosx、y=sin(x-0.1?)、y=cos(x+0.1?)的二维图形。
解:在MATLAB命令窗口中输入以下命令:
>>x=0:0.4*pi:2*pi; >>y1=sin(x); >>y2=cos(x);
>>y3=sin(x-0.1*pi); >>y4=cos(x+0.1*pi); >>plot(y1) %如图2-2
>>title('Plot绘图结果 ')
>>xlabel('x','FontSize',15) >>ylabel('y','FontSize',8)
运行以上M代码程序,得到图2-2所示的结果图形。
将程序中plot(y1)替换成以下语句,将会得到图2-3所示结果图形。
>>plot(x,y1,x,y2,x,y3,x,y4) %图2-3,注意比较和图2-2的不同
共分享92篇相关文档