17、二维图形绘制

这篇具有很好参考价值的文章主要介绍了17、二维图形绘制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

(一)plot绘图指令

(1)plot(x,y)

(2)plot(y)。

(3)plot(z)。

(4)plot(A)。

(5)plot(x,A)。

(6)plot(A,x)。

(7)plot(A,B)。

(8)plot(x,y,str)。

(9)plot(x1,y1,str1,x2,y2,str2,...)。

(二)格栅 grid on\grid off

(三)文字说明(标注、文字格式)

(四)线型、标记和颜色

1.线型

2.标记

3.颜色

(五)坐标轴设置

(六)图形叠绘

(七)子图绘制

(八)交互式绘图

1.ginput指令

2.gtext指令

(九)双坐标轴绘制

(十)fplot绘图指令

(十一)ezplot绘图指令 (隐函数绘图、参数方程绘图)

(十二)特殊坐标轴绘制(对数坐标轴)

1.semilogx函数

2.semilogy函数

         3.loglog函数

 (十三)二维特殊图形函数

1.bar函数

2.pie函数

3.hist函数

4.scatter函数


二维图形是MATLAB图形的基础,也是应用最广泛的图形类型之一。MATLAB基本的二维图形包括线型(Line Plots)、散点型(Scatter Plots)、条型(Bar Plots)、极坐标型(Polar Plots)及矢量图型(Vector Fields)等​。

(一)plot绘图指令

(1)plot(x,y)

以x为横坐标,y为纵坐标,按照坐标(xj,yj)的有序排列绘制曲线。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(2)plot(y)。

其中 y 为一维实数数组,以1:n为横坐标,yj为纵坐标,绘制曲线(n为y的长度)。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(3)plot(z)。

其中 z 为一维复数数组,以横轴为实轴,纵轴为虚轴,在复平面上绘制(real(zj),imag(zj))的有序集合的图形。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(4)plot(A)。

绘制矩阵A的列对它的下标的图形。对于m×n的矩阵A,有n个含有m个元素的数对,或是n条有m个点的曲线,且这n条曲线均采用颜色监视器上不同的颜色绘制而成。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(5)plot(x,A)。

绘制矩阵A对向量x的图形。对m×n的矩阵A和长度为m的向量x,绘制矩阵A的列对向量x的图形;如果x的长度为n,则绘制矩阵A的行对向量x的图形。向量x可以是行向量,也可以是列向量。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(6)plot(A,x)。

对矩阵A绘制向量x的图形。对于一个m×n的矩阵A和一个长度为m的向量x,对矩阵A的列绘制向量x的图形;如果x的长度为n,则对矩阵A的行绘制向量x的图形。向量x可以是行向量,也可以是列向量。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(7)plot(A,B)。

对矩阵A的行绘制矩阵B的列的图形。如果A和B都是m×n的矩阵,则将绘制n条由m个有序对连成的曲线。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(8)plot(x,y,str)。

用字符串str指定的颜色和线型对y绘制x的图形。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(9)plot(x1,y1,str1,x2,y2,str2,...)。

用字符串str1指定的颜色和线型对y1绘制x1的图形,用字符串str2指定的颜色和线型对 y2绘制 x2的图形......每组参数值可以采用上述除复数值以外的任何一种形式。str1,str2...可以省略,此时,MATLAB自动为每条曲线选择颜色和线型。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(二)格栅 grid on\grid off

添加格栅可以对具体数值有更加清楚的展示:

  1. grid on 命令可以在当前图形的单位标记出添加格栅
  2. grid off命令可以取消格栅的显示
  3. 单独使用grid命令则可以在on与off状态下交替转换,即起到触发的作用

在这里就不演示了,大家都是聪明人,一定懂得~~~

(三)文字说明(标注、文字格式)

通常,曲线所表示的函数或数据的规律都需要进行一些文字的说明或标注。图形窗口中的文本操作指令如下:

  1. title('text')  在图形窗口顶端的中间位置输出字符串"text"作为标题
  2. xlabel('text') 在x轴下的中间位置输出字符串"text"作为标注
  3. ylabel('text') 在y轴边上的中间位置输出字符串"text"作为标注
  4. zlabel('text') 在z轴边上的中间位置输出字符串"text"作为标注
  5. text(x,y,'text') 在图形窗口的(x,y)处写字符串"text"若x和y是长度相同的向量,字符串写在(x_i,y_i)的位置上若"text"是一个字符串矩阵,即字符矩阵,且与行数与xy的长度相同,则第i行的字符串写在位置(x_i,y_i)
  6. text(x,y,'text','sc') 在图形窗口的(x,y)处输出字符“text”,给定左下角的坐标为(0.0,0.0),右上角的坐标则为(1.0,1.0)。gtext('text')通过使用鼠标或方向键,移动图形窗口中的十字光标,让用户将字符串 text 放置在图形窗口中。当十字光标走到所期望的位置时,用户按下任意键或单击任意按钮,字符串将会写入窗口中。
  7. legend(str1,str2,..pos) 在当前图形上输出图例(说明每条曲线对应的名字),以str1、str2等做标注,pos为位置参数,用于控制图例框的位置但也可以直接插入图例,鼠标移动位置并双击编辑。其中,参数pos可选为:17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数
  8. legend(str1,str2,...,'Location','pos'):在当前图形上输出图例,并用说明性字符串str1、str2等做标注。其中,参数pos可选为:17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数
  9. legendoff 从当前图形中清除图例

例1:图窗内文字说明示例

clear;
clc;
x=0:0.01*pi:pi*0.5;y=cos(x)+sqrt(-1)*sin(x);
plot(y*2,'r','LineWidth',5);hold on;
x=pi*0.5:0.01*pi:pi;y=cos(x)+sqrt(-1)*sin(x);
plot(y*2,'y','LineWidth',5);hold on;
x=-pi:0.01*pi:-pi*0.5;y=cos(x)+sqrt(-1)*sin(x);
plot(y*2,'b','LineWidth',5);hold on;
x=-pi*0.5:0.01*pi:0;y=cos(x)+sqrt(-1)*sin(x);
plot(y*2,'g','LineWidth',5);hold on;
title('极坐标')
text([1.5 -3 1.5 -3],[2 2 -2 -2],{'第一象限','第二象限','第三象限','第四象限'})
legend({'[0 0.5\pi]','[0.5\pi \pi]','[\pi 1.5\pi]','[1.5\pi 2\pi]'})
xlim([-5 5]);ylim([-5,5]);
plot([-4 4],[0 0],'k','LineWidth',3);hold on;
plot([0 0],[-4 4],'k','LineWidth',3);hold on;
axis off

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

MATLAB 中的字符串可以对输出的文字风格进行预先设置,可以预先规定的有字体、风格及大小。另外,可以进行上、下标的表示,还可以输出数学公式中经常用到的希腊字符和其他特殊字符。这些指令及特殊符号的输出方法。

字体式样设置规则

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

下标的控制指令

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

希腊字母

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

其他特殊符号

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(四)线型、标记和颜色

当同一张图形中同时画了多条曲线时,需要使用不同的线型、标记或颜色来区分不同的曲线

1.线型

MATLAB平台中共有5种不同线型:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

2.标记

MATLAB平台中共有14种不同的标记方式:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

3.颜色

MATLAB平台中有代号的颜色共有8种:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

例2:线型、标识与颜色示例

clear;
clc;
figure
x=0:0.01*pi:pi*8;
plot(x,sin(x),'r:','LineWidth',3);hold on;
plot(x,2*sin(x/2),'y','LineWidth',3);hold on;
plot(x,4*sin(x/4),'b--','LineWidth',3);hold on;
x=0:pi:pi*8;
plot(x,sin(x),'g^','MarkerSize',10,'LineWidth',3);hold on;
plot(x,2*sin(x/2),'co','MarkerSize',10,'LineWidth',3);hold on;
plot(x,4*sin(x/4),'msquare','MarkerSize',10,'LineWidth',3);hold on;
xlim([0 pi*8])

运行结果:

 文章来源地址https://www.toymoban.com/news/detail-706975.html

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

在MATLAB平台上还有一种叫作颜色映像的数据结构来代表颜色值。颜色映像定义为一个有3列和若干行的矩阵。利用0~1之间的数值,矩阵的每一行都代表了一种色彩。任一行的数字都指定了一个RGB值,即红、绿、蓝3种颜色的强度,形成一种特定的颜色。一些有代表性的RGB值

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

10个MATLAB函数产生预定的颜色映像:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

默认情况下,上面所列的各个颜色映像产生一个64×3的矩阵,指定了64种颜色RGB的描述。这些函数都接收一个参量来指定所产生矩阵的行数。比如hot(m)产生一个m×3的矩阵,它包含的RGB颜色值的范围从黑经过红、橘红、黄......一直到白

(五)坐标轴设置

图形坐标轴的取值范围及其刻度对图形的显示效果有着很明显的影响。

默认情况下,MATLAB通过内部自适应设置来选择坐标轴,但有时候默认设置生成的图形往往达不到用户所要求的效果,或者用户只对图形中某一部分感兴趣时,就需要通过坐标轴控制函数,有针对地调整和设置坐标轴的某些参数

MATLAB提供的坐标轴控制函数:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

例3:坐标轴设置示例

clear;
clc;
figure
x=(0:1800)*pi/180;y=cos(x/2);
subplot(1,3,1);plot(x,y,'LineWidth',2);xlim([0 30]);grid on;
subplot(1,3,2);plot(x,y,'LineWidth',2);xlim([0 30]);grid on;grid;
subplot(1,3,3);plot(x,y,'LineWidth',2);xlim([0 30]);grid ;grid off;

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(六)图形叠绘

plot 指令可以在同一次调用中画出多条曲线,在实际应用中,经常遇到在已经存在的图上绘制新的曲线,并保留原来的曲线,MATLAB 中的以下指令可以完成这项功能。

  1. hold on语句:语句功能为使当前轴及图形保留下来而不被刷新,并接收即将绘制的新的曲线。
  2. hold off语句:语句功能为不保留当前轴及图形,绘制新的曲线后,原图即被刷新。
  3. hold语句:语句功能为hold on语句与hold off语句的切换

例4:图形叠绘示例

clear;
clc;
figure
x=0:0.01*pi:pi*8;
subplot(1,2,1)
plot(x,sin(x),'r:','LineWidth',3);hold on;
plot(x,2*sin(x/2),'y','LineWidth',3);hold on;
plot(x,4*sin(x/4),'b--','LineWidth',3);hold on;
subplot(1,2,2)
plot(x,sin(x),'r:','LineWidth',3);hold on;
plot(x,2*sin(x/2),'y','LineWidth',3);hold on;hold;
plot(x,4*sin(x/4),'b--','LineWidth',3);hold;hold off;

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(七)子图绘制

MATLAB 允许用户在同一个图形窗中同时绘制多幅相互独立的子图,这需要应用到subplot指令,其句法格式如下:

  • subplot(m,n,k):将(m×n)幅子图中的第k幅图作为当前曲线的绘制图。
  • subplot('position',[left bottom width height]):在指定位置上生成子图,并作为当前曲线的绘制图。

Subplot指令说明:

(1)subplot(m,n,k)指令生成的图形窗中将会有(m×n)幅子图,k是子图的编号,编号的顺序为:左上为第一幅子图,然后向右后向下依次排号,该指令产生的子图分割与占位完全按照默认值自动进行。

(2)subplot('position',[left bottom width height])指令所产生的子图的位置由用户指定,指定位置的4个元素采用归一化的标称单位,即认为图形窗的宽、高的取值范围均为[0,1],左下角的坐标为(0,0)。

(3)指令所产生的子图彼此之间相互独立,所有的绘图指令都可以在任一子图中运用,而对其他的子图不起作用。

(4)在使用subplot指令之后,如果再想绘制充满整个图形窗的图时,则应当先使用clf指令对图窗进行清空。

例5:子图绘制示例

clear;
clc;
figure
x=(0:1800)*pi/180;y=cos(x/2);
subplot(1,3,1);plot(x,y,'LineWidth',2);xlim([0 30]);grid on;
subplot(1,3,2);plot(x,y,'LineWidth',2);xlim([0 30]);grid on;grid;
subplot(1,3,3);plot(x,y,'LineWidth',2);xlim([0 30]);grid ;grid off;

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(八)交互式绘图

MATLAB中还设置了相应的鼠标操作的图形操作指令,分别是ginput、gtext和zoom函数。首先对这3个函数进行一般性的说明。

(1)除了ginput函数只能应用于二维图形,其余两个函数对二维和三维图像均适用。

(2)ginput函数与zoom函数配合使用,可以从图形中获得较为准确的数据。

(3)在逻辑顺序并不十分清晰的情况下,并不提倡这几个指令同时使用。

1.ginput指令

调用格式如下:

[x,y]=ginput(n):其功能为用鼠标从二维图形中获得n个点的数据坐标(x,y)。

使用ginput指令时需要注意的是,指令中的n应当赋值为正整数,指令中的x和y用来存放所取点的坐标。该指令运行之后,会将当前图像从后台调度到前台。同时,鼠标光标变为十字形。用户可以移动鼠标,将其定位于待取点的位置处,单击则可获得该点的数据值,然后通过相同的方式取得之后的n-1组数据值,当n组数据全部取得之后,图形窗便退回后台,回到ginput指令执行前的环境中。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

2.gtext指令

调用格式如下:

gtext(arg):其功能为用鼠标把字符串或字符串元胞数组放置到图形中作为文字说明。

使用gtext指令时需要注意的是,运行该指令后,会将当前的图像从

后台调度到前台。同时,鼠标光标变为十字形。用户可以移动鼠标,将其定位于待放置的位置处,右击,字符串将被放在紧靠十字中心点的“第一象限”位置上。

如果输入的arg是单个字符串,单击则可以一次性将所有字符以单行的形式放置在图形之中;如果arg中包含多行字符串,则每次单击可将其中的一行字符串放置在图形之中,直到将所有的字符串全部放置在图形之中后,操作才全部完成。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

3.zoom指令

zoom指令的具体应用句法有几种格式:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

注意:使用zoom指令时,变焦操作方式与标准的Windows缩放相同,在可变焦的当前图形上,可直接单击进行图形的放大,也可以长按鼠标左键括住需要放大的区域,放开鼠标左键之后,指定的区域则会被放大,右击则可进行图形的缩小。默认的变焦因子是2,即单击时图形被放大一倍,右击时图形被缩小一半。

(九)双坐标轴绘制

在实际应用中,常常需要把同一自变量的两个不同量纲、不同量级的函数量的变化同时绘制在同一个图形窗中。

MATLAB中的plotyy函数可以实现上述功能,其调用格式如下:

  1. plotyy(X1,Y1,X2,Y2):以左、右不同的纵轴分别绘制X1-Y1和X2-Y2两条曲线。
  2. plotyy(X1,Y1,X2,Y2,Fun):以左、右不同的纵轴以 Fun 指定的形式分别绘制X1-Y1和X2-Y2两条曲线。
  3. plotyy(X1,Y1,X2,Y2,Fun1,Fun2):以左、右不同的纵轴分别以Fun1、Fun2指定的形式绘制X1-Y1和X2-Y2两条曲线。

使用plotyy指令时需要注意的是,左侧的纵轴用来描述X1-Y1曲线,右侧的纵轴用来描述X2-Y2曲线。轴的范围与刻度值都是自动生成的,进行人工设置时,使用的绘图指令与一般的绘图指令相同。

例6:双坐标轴绘制示例

clear;
clc;
figure
x=0:0.01*pi:pi*2;
y=sin(0:0.01*pi:pi*2);
z=x.*(cos(x)+sqrt(-1)*sin(x));
[a,b,c]=plotyy(0:200,abs(z),0:200,angle(z)*180/pi);
set(get(a(1),'Ylabel'),'String','amplitude')
set(get(a(1),'Ylabel'),'String','phase')
set(b,'LineWidth',3)
set(c,'LineStyle',':','LineWidth',3)

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(十)fplot绘图指令

plot指令只能将用户指定的或者计算而得的数据转换为图形,但如果自变量的离散间隔不合理,就无法反映函数的变化趋势

fplot指令可以通过MATLAB内部设置的自适应算法来动态决定自变量的离散间隔,主要用来根据函数表达式和自变量所属区间来直接绘制函数曲线,不需要给出像plot需要给出的自变量和因变量的数组,因此当函数表达式已知的情况,使用fplot绘制函数曲线相对简单一些

fplot指令的调用格式如下:

  1. fplot(fun,limits):在limits定义的自变量的取值范围[xmin,xmax]内,或者在自变量与因变量的取值范围[xmin,xmax;ymin,ymax]内,绘制fun函数。
  2. fplot(fun,limits,LineSpec):在limits定义的取值范围内,在LineSpec所规定的线型、颜色、标记等属性下,绘制fun函数。
  3. fplot(fun,limits,tol):在limits定义的取值范围内,在tol所规定的相对误差允许范围内,绘制fun函数。
  4. fplot(fun,limits,tol,LineSpec):在limits定义的取值范围内,在LineSpec所规定的线型、颜色、标记等属性下,在tol所规定的相对误差允许范围内,绘制fun函数。
  5. fplot(fun,limits,n):在limits定义的取值范围内绘制fun函数,至少绘制n+1个点。使用fplot指令时需要注意的是:tol为相对误差允许范围,其默认值为2e-3,n的默认值为1,即fplot指令至少绘制两个点,对n进行设置后,最大的步长限制为(xmax-xmin)/n。

例7:fplot绘图示例

clear;
clc;
fplot(@sin,[-2*pi 2*pi])
grid on
title('sin(x) from -2*pi to 2*pi')
xlabel('x')
ylabel('y')

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(十一)ezplot绘图指令 (隐函数绘图、参数方程绘图)

ezplot指令用于绘制函数在某一自变量区域的图形,与fplot指令相同的是,ezplot指令也需要对自变量的范围进行规定

其具体句法格式如下:

ezplot(fun)                      按默认自变量范围(-2*pi,2*pi)绘制函数fun

ezplot(fun,[min,max])             设置x方向的变化范围为[min,max],绘制函数fun

ezplot(fun,[xmin,xmax,ymin,ymax])  x方向变量范围为[xmin,xmax],y方向变量范围为[ymin,ymax]

 

设fun2(x,y)为隐函数

ezplot(fun2) 绘制fun2(x,y)=0,x、y默认取值范围均为[-2*pi,2*pi]

ezplot(fun2,[xymin,xymax]) x、y范围为[xymin,xymax]

ezplot(fun2,[xmin,xmax,ymin,ymax]) xmin<x<xmax, ymin<y<ymax

 

参数方程,funx=fx(t),funy=fy(t)

ezplot(funx,funy) t的默认范围为(0,2*pi)

ezplot(funx,funy,[tmin,tmax])  tmin<t<tmax

例8:explot绘图示例

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

(十二)特殊坐标轴绘制(对数坐标轴)

在实际的很多的情况中,数据都出现指数型的变化规律,如果此时再用线型刻度来描述曲线,则处于低次幂的部分数据无法清晰地表现出来

1.semilogx函数

  1. semilogx函数的调用格式与plot基本相同,此处不再赘述每一个句法的功能
  2. semilogx(Y)。
  3. semilogx(X1,Y1,X2,Y2,...)。
  4. semilogx(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)。
  5. semilogx(...,'PropertyName ',PropertyValue,...)。
  6. semilogx函数绘制图形时,x轴采用对数坐标。若没有指定使用的颜色,当所画线条较多时,semilogx函数将自动使用由当前的ColorOrder和LineStyleOrder属性所指定的颜色顺序和线型顺序来绘制线条。

例9:semilogx函数与plot函数指令对比。

clear;
clc;
figure
x=10.^(0.1:0.1:4);y=1./(x+1000);
subplot(1,2,1);semilogx(x,y,'-','MarkerSize',5,'LineWidth',2);
title('y=(x+1000)^(-1)')
subplot(1,2,2);plot(x,y,'+','MarkerSize',5,'LineWidth',2);
title('y=(x+1000)^(-1)')

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

2.semilogy函数

semilogy函数的调用格式与semilogx相同,绘制图形时,y轴采用对数坐标。若没有指定使用的颜色,当所画线条较多时,semilogy 将自动使用由当前的 ColorOrder 和LineStyleOrder属性所指定的颜色顺序和线型顺序来绘制线条。

例10:semilogy与plot指令对比

clear;
clc;
figure
x=10.^(0.1:0.1:4);y=1./(x+1000);
subplot(1,2,1);semilogy(x,y,'-','MarkerSize',5,'LineWidth',2);
title('y=(x+1000)^(-1)')
subplot(1,2,2);plot(x,y,'+','MarkerSize',5,'LineWidth',2);
title('y=(x+1000)^(-1)')

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

 3.loglog函数

loglog函数的调用格式与semilogx相同,绘制图形时,x轴与y轴均采用对数坐标。

例11:loglog与plot指令对比

 

clear;
clc;
figure
x=10.^(0.1:0.1:4);y=1./(x+1000);
subplot(1,2,1);loglog(x,y,'-','MarkerSize',5,'LineWidth',2);
title('y=(x+1000)^(-1)')
subplot(1,2,2);plot(x,y,'+','MarkerSize',5,'LineWidth',2);
title('y=(x+1000)^(-1)')

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

 (十三)二维特殊图形函数

 

在MATLAB中,除了可以通过plot函数等绘制特殊图形,还可以通过一些函数绘制柱状图、饼状图等特殊图形。常见的特殊二维图形函数有:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

1.bar函数

bar函数用于绘制二维垂直条形图,用垂直条形显示向量或矩阵中的值。其调用格式如下:

  1. bar(y):为每一个y中的元素画一个条状。
  2. bar(x,y):在指定的横坐标x上画出y,其中x为严格单增的向量。若y为矩阵,则bar把矩阵分解成几个行向量,在指定的横坐标处分别画出。
  3. bar(...,'bar_color '):“bar_color”定义条的颜色。
  4. bar(axes_handle,...):将图形绘制到坐标轴句柄 axes_handle 中,而不是当前坐标轴句柄中。

例12:创建二维垂直条形图

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

例13:二维直方图有两种类型:垂直直方图和水平直方图。而每种类型又有两种表现模式:累计式和分组式。

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

2.pie函数

  1. pie函数用于绘制饼形图。其调用格式如下:
  2. pie(x):绘制参数x的饼图。
  3. pie(x,explode):explode是与x同维的矩阵,若其中有非零元素,x矩阵中相应位置的元素在饼图中对应的扇形将向外移出一些,加以突出。
  4. pie(...,labels):labels用于定义相应块的标签。
  5. pie(axes_handle,...):将图形绘制到坐标轴句柄 axes_handle 中,而不是当前坐标轴句柄中。
  6. h = pie(...):返回绘制的饼图相关的句柄。

例14:创建二维饼图和三维饼图。

clear;
clc;
figure
x=[1 5 0.5 3.5 2];
explode=[0 1 0 0 0];
subplot(1,2,1);pie(x,explode) %绘制饼图
colormap jet
subplot(1,2,2);pie3(x,explode) %绘制三维饼图
colormap hsv

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

3.hist函数

hist函数用于绘制二维条形直方图,可以显示出数据的分布情况。所有向量y中的元素或者矩阵Y的列向量中的元素是根据它们的数值范围来分组的,每一组作为一个条形进行显示。条形直方图中的x轴反映了数据y中元素数值的范围,直方图的y轴显示出参量y中的元素落入该组的数目。其调用格式如下:

  1. n = hist(y):把向量y中的元素放入等距的10 个条形中,且返回每一个条形中的元素个数。若y为矩阵,则该命令按列对y进行处理。
  2. n = hist(y,x):参量x为向量,把y中元素放到m(m=length(x))个由x中元素指定的位置为中心的条形中。
  3. n = hist(y,nbins):参量nbins为标量,用于指定条形的数目。
  4. [n,xout] = hist(...):返回向量n与包含频率计数与条形的位置向量xout,用户可以用命令bar(xout,n)画出条形直方图。
  5. hist(...):生成直方图,但不产生输出。
  6. hist(axes_handle,...):将图形绘制到坐标轴句柄 axes_handle中,而不是当前坐标轴句柄中。

例15:绘制直方图

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

4.scatter函数

scatter函数用于绘制散点图。其调用格式如下:

  • scatter(x,y):以x、y的值为横、纵坐标,绘制散点。

例16:绘制散点图示例

clear;
clc;
figure
x=[1 5 6 7 9 5 1 3 12 20];
y=[20 15 6 3 1 5 3 0 1 5];
subplot(1,2,1);scatter(x,y) %绘制散点图
subplot(1,2,2);scatter(x,y,[],[1 0 0],'fill') %绘制散点图

运行结果:

17、二维图形绘制,Matlab基础,matlab,矩阵,线性代数

 

到了这里,关于17、二维图形绘制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MATLAB】动态绘制曲线图(二维曲线)

    先看效果 ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 主程序: 加载数据的部分我省略了,就是data1这个矩阵 动态绘图函数: 这里暂时只支持设置线性、颜色、markerstyle这三个参数吧,主要是用 line() 这个函数把点连起来,设置line的参数就是曲线的样式,查看帮助文档 doc line 可以自定

    2024年02月16日
    浏览(40)
  • MATLAB 之 绘制三维图形的基本函数、三维曲面和其他三维图形

    三维图形具有更强的数据表现能力,为此 MATLAB 提供了丰富的函数来绘制三维图形。绘制三维图形与绘制二维图形的方法十分类似,很多都是在二维绘图的基础上扩展而来。 基本的三维图形函数为 plot3 ,它是将二维绘图函数 plot 的有关功能扩展到三维空间,用来绘制三维曲线

    2024年02月06日
    浏览(41)
  • matlab 二维矩阵变成一维矩阵

    1、一维变二维: https://blog.csdn.net/qq_40584593/article/details/90691276 reshape 2、a(:)即可 https://jingyan.baidu.com/article/d45ad148dc221b29552b80ec.html

    2024年02月11日
    浏览(45)
  • 线性代数中涉及到的matlab命令-第二章:矩阵及其运算

    目录 1,矩阵定义 2,矩阵的运算 3,方阵的行列式和伴随矩阵  4,矩阵的逆  5,克莱默法则  6,矩阵分块  矩阵与行列式的区别: (1)形式上行列式是数表加两个竖线,矩阵是数表加大括号或中括号; (2)行列式可计算得到一个值,矩阵不能; (3)两个行列式相加与两

    2024年02月08日
    浏览(48)
  • 【Matlab】在matlab绘制渐变混淆矩阵

    混淆矩阵是一种表示分类模型预测结果的标准格式,用n行n列的矩阵形式来表示1。它可以用来评估模型的精度、召回率、特异性等指标23。混淆矩阵的行表示真实类别,列表示预测类别,矩阵的元素表示各种类别组合的样本数量34。

    2024年02月11日
    浏览(57)
  • Matlab把二维矩阵画成三维图像

    上面的速度文件是一列数据,在matlab中可以认为是向量,数据量为10000*5000,所以才能被设置为5000*10000的矩阵。 这样画出来的图像水平两轴为x:1,10000;y:1,5000。 垂向上的数值则是矩阵对应的速度值。 因为数据量太大,电脑很卡就不放图片了,你可以用C语言或者其他的什

    2024年02月12日
    浏览(36)
  • 图形学基础:二维三维刚体的移动、缩放和旋转矩阵

    1.1 缩放矩阵 x,y分别表示在x轴,y轴缩放的倍数 示例: 点(2,1)在x,y轴上分别缩放x倍,y倍 1.2 平移矩阵 x,y分表表示在x轴,y轴上移动的距离 示例:点(2,1)分别在x轴,y轴上平移x距离,y距离 1.3 旋转矩阵 示例:点(x,y) 绕原点逆时针旋转θ° 示例: 点 (2,0) 绕原点旋转90° 绕

    2024年04月15日
    浏览(39)
  • 线性代数中涉及到的matlab命令-第三章:矩阵的初等变换及线性方程组

    目录 1,矩阵的初等变换 1.1,初等变换 1.2,增广矩阵  ​1.3,定义和性质 1.4,行阶梯型矩阵、行最简型矩阵 1.5,标准形矩阵  1.6,矩阵初等变换的性质  2,矩阵的秩  3,线性方程组的解  初等变换包括三种:交换行或列、某行或列乘以一个非零系数、某行或列加上零一行

    2024年02月04日
    浏览(50)
  • 绘制混淆矩阵(MatLab/Python)

    本文主要简单介绍如何绘制混淆矩阵       首先混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。         其实混淆矩阵就是用来判断我们的算法的分类准确度的一个可

    2024年02月08日
    浏览(37)
  • 全面地介绍 将二维数据矩阵插值拟合为二维曲面方程——基于matlab

    要利用matlab将二维数据矩阵拟合成一个二维曲面方程,首先,我们得明白什么是插值和拟合。下面,从对洋流数据的处理入手,先以一个基本的流程为例,进行问题的概述,然后介绍两种具体的方法。 根据已知的数据点,生成一个连续的函数,可以在任意位置求值。matlab 提

    2024年04月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包