MATLAB学习之绘图篇(二维图)

MATLAB学习之绘图篇(二维图)matlab 二维图绘制包含基础的曲线图 柱状图 饼状图 折线图 对于图像的坐标轴 标题 线宽等操作进行 matlab 二维图形绘制

大家好,欢迎来到IT知识分享网。

目录

1.1基础图形绘制

1.1.1使用plot函数进行图形绘制

1.1.2为图像增加图例

1.1.3为图片增加标题以及坐标轴的描述

 1.1.4控制坐标轴,边框以及网络

1.1.5在一个图像上绘制多条曲线

1.1.6在一个窗口绘制多个图像

1.1.7对图形的对象进行操作( 坐标属性,线型等)

1.2多种类型图像绘制 

1.2.1散点图

1.2.2折线图 

1.2.3柱状图

1.2.4饼状图 


1.1基础图形绘制

1.1.1使用plot函数进行图形绘制

plot(x,y,LineSpec) 

参数意义如下:

x: 图线上点的x坐标。

y:图线上点的y坐标。

linespec:图线的线条设定,三个指定线型,标记符号颜色设定符组成一个字符串,设定符不区分先后。

MATLAB学习之绘图篇(二维图)

以下例子演示了如何绘制(0,2π)余弦函数的图像。

x = 0:pi/20:2*pi; y = cos(x); plot(x, y, 'r.-') 

此行代码表示(0,2π)为x的范围其中每隔pi/20取一个点。

x = 0:pi/20:2*pi;

 此行代码中’r.-‘可查上表r表示红色-表示默认函数曲线.代表在线上画点。

plot(x, y, 'r.-')

MATLAB学习之绘图篇(二维图)

1.1.2为图像增加图例

使用legend()函数为图片增加图例

legend()函数的用法为函数括号里面的内容用’  ‘包含如有多条曲线可以用,隔开。

以下例子演示了如何为图片增加图例

x=0:0.5:4*pi; y=sin(x); h=cos(x); w=1./(1+exp(-x)); g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2)); plot(x,y,'bd-' ,x,h,'gp:',x,w,'ro-' ,x,g,'c^-'); % 绘制多条图线 legend('sin(x)','cos(x)','Sigmoid','Gauss function'); % 添加图例 

MATLAB学习之绘图篇(二维图)

1.1.3为图片增加标题以及坐标轴的描述

 title()函数用来给图片增加标题。

xlablel()函数用来给x轴增加描述。

ylablel()函数用来给y轴增加描述。

以下例子用来演示如何给图片增加标题以及坐标轴的描述:

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}'); 

MATLAB学习之绘图篇(二维图)

 1.1.4控制坐标轴,边框以及网络

使用以下命令可以对坐标轴,边框,网格进行操作。

MATLAB学习之绘图篇(二维图)

1.1.5在一个图像上绘制多条曲线

默认情况下,每次执行plot()函数都会清除上一次绘图的结果,多次执行plot()只会保留最后一次绘制的图形。

如需绘制多条曲线可以先使用hold on先绘制函数图像,然后结束后使用hold off。

以下例子展示了如何在一张图像上显示多条曲线:

hold on % 提起画笔,开始绘制一组图片 plot(cos(0:pi/20:2*pi)); plot(sin(0:pi/20:2*pi)); hold off % 放下画笔,该组图片绘制完毕 

MATLAB学习之绘图篇(二维图)

1.1.6在一个窗口绘制多个图像

使用subplot()函数可以在一个窗口进行多个函数图像进行绘制

subplot(m,n,p)

 以下图片展示了什么是m,n,p(为所绘制的方框顺序也按图示进行排序)。

MATLAB学习之绘图篇(二维图)

以下例子展示了如何在一个窗口绘制多张图片:

subplot(2,2,1); x = linspace(-3.8,3.8); y_cos = cos(x); plot(x,y_cos); title('Subplot 1: Cosine') subplot(2,2,2); y_poly = 1 - x.^2./2 + x.^4./24; plot(x,y_poly,'g'); title('Subplot 2: Polynomial') subplot(2,2,[3,4]); plot(x,y_cos,'b',x,y_poly,'g'); title('Subplot 3 and 4: Both') 

MATLAB学习之绘图篇(二维图)

1.1.7对图形的对象进行操作( 坐标属性,线型等)

首先先获取函数图像的句柄,如下图所示:

MATLAB学习之绘图篇(二维图)

 然后通过函数set(H,Name,Value)进行操作

以下代码展示了第一张图改变坐标轴字体大小,第二张图改变间隔距离以及坐标轴信息,第三张图要设置特殊显示所以要预先进行设置。

% 第一张图 set(gca, 'FontSize', 25); % 第二张图 set(gca, 'XTick', 0:pi/2:2*pi); set(gca, 'XTickLabel', 0:90:360); % 第三张图 set(gca, 'FontName', 'symbol'); set(gca, 'XTickLabel', {'0', 'p/2', 'p', '3p/2', '2p'}); 

MATLAB学习之绘图篇(二维图)

改变线型 

h = plot(x,y); set(h, 'LineStyle','-.', ... 'LineWidth', 7.0, ... 'Color', 'g'); 

MATLAB学习之绘图篇(二维图)

1.2多种类型图像绘制 

1.2.1散点图

基础的散点图

x为(0.01,0.08)间隔0.01所对应的y组成的点,加载到scatter函数中进行绘制

x = 0.01:0.01:0.08; y = [3.0743,3.0707,3.0716,3.1133,3.1685,3.1778,3.2467,3.2634]; scatter(x, y);

MATLAB学习之绘图篇(二维图)

通过函数绘制散点图

linspace表示从-2到2中取100个数值,然后加载到x^3函数中将所得到的点加载到scatter函数中

x = linspace(-2, 2, 100); y = x .^ 3; scatter(x, y); 

MATLAB学习之绘图篇(二维图)

改变散点圆圈的大小

 scatter(x, y, sz);通过对sz传入参数的大小进行改变来改变圆圈的大小。

x = linspace(-2, 2, 100); y = x .^ 3; sz = linspace(1, 100, 100); scatter(x, y, sz); 

MATLAB学习之绘图篇(二维图)

1.2.2折线图 

通过直线将点直接连接起来

x = 3:2:11; y=[4,5,9,6,4]; plot(x, y); 

MATLAB学习之绘图篇(二维图)

1.2.3柱状图

基础柱状图给定x数值,按顺序得到y的数值,将y的数值用高度进行表示。

x = 3:2:11; y=[4,5,9,6,4]; bar(x, y); 

MATLAB学习之绘图篇(二维图)

多组变量的柱状图

其中每组变量y用;隔开进行区分。

x=3:5; y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7]; bar(x,y); 

MATLAB学习之绘图篇(二维图)

三维柱状图

只需将bar改成bar3就行

x=3:5; y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7]; bar3(x,y); 

 MATLAB学习之绘图篇(二维图)

水平柱状图

只需将bar改成barh就行

y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7]; barh(y); 

 MATLAB学习之绘图篇(二维图)

1.2.4饼状图 

只需传入一组参数

y=[4,5,9,6,4]; pie(y); 

MATLAB学习之绘图篇(二维图)

三维饼状图

只需将pie改成pie3就行

y=[4,5,9,6,4]; pie3(y);

 将某一扇形突出饼状图

传入一个向量将需要突出的部分置一

X=[2,2,1,5,2]; explode = [0 1 0 0 0]; pie(X,explode); 

MATLAB学习之绘图篇(二维图)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/117824.html

(0)
上一篇 2025-11-17 22:15
下一篇 2025-11-17 22:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信