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

目录

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:图线的线条设定,三个指定线型,标记符号颜色设定符组成一个字符串,设定符不区分先后。

以下例子演示了如何绘制(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.-')

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');	% 添加图例

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

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

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

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	% 放下画笔,该组图片绘制完毕

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

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

subplot(m,n,p)

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

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

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

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

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

 然后通过函数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'});

改变线型 

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

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

通过函数绘制散点图

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

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

改变散点圆圈的大小

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

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

1.2.2折线图 

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

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

1.2.3柱状图

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

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

多组变量的柱状图

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

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

三维柱状图

只需将bar改成bar3就行

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

 

水平柱状图

只需将bar改成barh就行

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

 

1.2.4饼状图 

只需传入一组参数

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

三维饼状图

只需将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);

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值