专题四MATLAB绘图-2

简介: 专题四MATLAB绘图

3、图形保持

  • hold on:控制保持原有图形
    hold off:控制刷新图形窗口
    hold on:用于在两种状态之间进行切换
  • 例子:用图形保持功能绘制两个同心圆



4、图形窗口的分割

  • 子图:同一图形窗口中的不同坐标系下的图形为子图
  • subplot函数:subplot(m,n,p)
    其中,m和n指定将图形窗口分成m*n个绘图区,p指定当前活动区。
x=linspace(0,2*pi,60);
subplot(2,2,1)     
plot(x,sin(x)-1);
title('sin(x)-1');axis ([0,2*pi,-2,0])
subplot(2,1,2)     
plot(x,cos(x)+1);
title('cos(x)+1');axis ([0,2*pi,0,2])
subplot(4,4,3)      
plot(x,tan(x));
title('tan(x)');axis ([0,2*pi,-40,40])
subplot(4,4,8)        
plot(x,cot(x));
title('cot(x)');axis ([0,2*pi,-35,35])

820f8ff3adc97683ad5b6b416931f874_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png


三、其他形式的二维曲线

1、其他坐标系的二维曲线

(1)对数坐标图

semilogx(x1,y1,选项1,x2,y2,选项2,……)

semilogy(x1,y1,选项1,x2,y2,选项2,……)

loglog(x1,y1,选项1,x2,y2,选项2,……)

其中。semilogx函数x轴为常用对数刻度,y轴为线性刻度;semilogy函数x轴为线性刻度,y轴为常用对数刻度;loglog函数x轴和y轴均为常用对数刻度。

例子:绘制1/x的直角线性坐标图和三种对数坐标图

x=0:0.01:10;
y=1./x;
subplot(2,2,1);
plot(x,y)
title('plot(x,y)');
subplot(2,2,2);
semilogx(x,y);
title('semilogx(x,y)');
grid on;
subplot(2,2,3);
semilogy(x,y);
title('semilogy(x,y)');
grid on;
subplot(2,2,4);
loglog(x,y);
title('loglog(x,y)');
grid on;


(2)极坐标图

polar(theta,rho,选项)

其中,theta为极角,rho为极径,选项的内容与plot函数相同

例子:按极坐标方程ρ=1-sinθ绘制心形曲线


t = 0:pi/100:2*pi;
r = 1-sin(t);
subplot(1,2,1)
polar(t,r)
subplot(1,2,2)
t1 = t-pi/2;
r1 = 1-sin(t1);
polar(t,r1)


2、统计图

(1)条形类图形

  • 条形图
    – bar函数:绘制垂直条形图
    – barh函数:绘制水平条形图
    bar函数:bar(y,style)

其中,参数y是数据,若y是向量则分别以每个元素的值作为每个矩形条的高度,以对应元素的下标作为横坐标。若y为矩阵则以y的每一行元素组成一组,用矩阵的行号作为横坐标分组绘制矩形条。选项style用于指定分组排列模式,类型有簇状分组:“grouped”和堆积分组:“stacked”,默认为簇状分组。

y=[1,2,3,4,5;1,2,1,2,1;5,4,3,2,1];
subplot(1,2,1);
bar(y)
title('簇状分组');
subplot(1,2,2)
bar(y,'stacked')
title('堆积分组')

1b5f75ec3b42c00999797c4a84106e0e_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

bar函数:bar(x,y,style)

其中,x存储横坐标,y存储数据,y的行数要与x的长度相同。

例子:下表是某公司2015~2017年家电类商品1月份的销售数据,绘制条形图

冰箱 空调 洗衣机 电视机 油烟机
2015 68 80 115 98 102
2016 75 88 102 99 110
2017 81 86 125 105 115
x=[2015,2016,2017];
y=[68,80,115,98,102;
75,88,102,99,110;
81,86,125,105,115];
bar(x, y)
title('Group');


  • 直方图

– hist函数:绘制直角坐标系下的直方图

– rose函数:绘制极坐标系下的直方图

hist函数:hist(y),hist(y,x)

其中,y是要统计的数据,x用于指定区间的划分方式。若x是标量,则统计区间均分成x个小区间;若x是向量,则向量x中的每一个数指定分组中心值,元素的个数为数据分组数。x缺省时,默认按10个等分区间进行统计。

y=randn(500,1);
subplot(2,1,1);
hist(y);
title('高斯分布直方图');
subplot(2,1,2);
x=-3:0.2:3;
hist(y,x);
title('指定区间中心点的直方图')

rose函数:rose(theta,x)

其中,theta用于确定每一区间与原点的角度,选项x用于指定区间的划分方式,x缺省时,默认按20个等分区间进行统计。

y=randn(500,1);
theta=y*pi;
rose(theta)
title('在极坐标系下的直方图')

0bebf3a6c169d18bf37c71395d0a6650_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

(2)面积类图形


  • 扇子形图

pie函数:pie(x,explode)

其中,x存储待统计数据。选项explode控制图块的显示模式,对用非零值的部分将从图形分离处

例子:某次考试优秀、良好、中等、及格、不及格的人数分别为:5、17、23、9、4,试用扇形图统计,并凸显不及格的部分

score=[5,17,23,9,4];
ex=[0,0,0,0,1];
pie(score,ex)
legend('优秀', '良好', '中等', '及格', '不及格', ...
'location', 'eastoutside')
##'location'用于指定函数位置, 'eastoutside'表示图例放置在绘图区域右边的外侧

68c39f669bf26c7921e5e7ceb9a03016_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

  • 面积图
    area函数:方法与plot函数相同,只是将所得曲线下方区域填充颜色
    (3)散点类图形
  • scatter函数:散点图

scatter(x,y,选项,‘filled’)

其中,x、y用于定位数据点,选项用于指定线性、颜色、数据点标记。如果数据点标记是封闭图形,可以用选项‘filled’指定填充数据点标记。该选项省略时,数据点是空心的。

例子:以散点图形式绘制桃心曲线,曲线的参数方程如下:x=16(sint)^3 ;y=13cost-5cos2t-2cos3t-cos4t

t=0:pi/100:2*pi;
x=16*sin(t).^3;
y = 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);
subplot(1,2,1);
scatter(x,y,'rd','filled')
subplot(1,2,2);
scatter(x,y,'rd')

1690e65ba4b7e3941419b8d229382410_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

  • stairs函数:阶梯图
X = linspace(0,4*pi,50);
Y = sin(X);
stairs(X,Y)


f8ea29d727dcdf1f1f0ec85627b43233_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

  • stem函数:杆图
X = linspace(0,2*pi,50)';
Y = cos(X);
stem(X,Y)

a251ca62fe0883864ead2be112acb748_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

3、矢量类图形

(1)compass函数:罗盘图

compass(U,V) 绘制从点 (0, 0) 发射出的箭头。使用笛卡尔坐标 U 和 V 指定箭头方向,其中 U 表示 x 坐标,V 表示 y 坐标。箭头数量与 U 中的元素数相匹配。


u = [5 3 -4 -3 5];
v = [1 5 3 -2 -6];
compass(u,v)

9784b07d269a7194e9e8c3419a7845cc_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

(2)feather函数:羽毛图

feather(U,V) 绘制以 x 轴为起点的箭头。使用笛卡尔分量 U 和 V 指定箭头方向,其中 U 表示 x 分量,V 表示 y 分量。第 n 个箭头的起始点位于 x 轴上的 n。箭头的数量与 U 和 V 中的元素数相匹配。


t = -pi/2:pi/8:pi/2;
u = 10*sin(t);
v = 10*cos(t);
feather(u,v)

dcff4f10e2dd3760f29db63f86d3c1b0_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

(3)quiver函数:箭头图

quiver(x,y,u,v)

其中,(x,y)指定矢量起点,(u,v)指定矢量终点。xx,y,u,v是同样大小的向量或同型矩阵,若省略x,y,则在x-y平面上均与取若干个点作为起点。

例:已知向量A、B,求A+B,并用矢量图表示。


A=[4,5]; B=[-10,0]; C=A+B;
hold on;
quiver(0, 0, A(1), A(2));
quiver(0, 0, B(1), B(2));
quiver(0, 0, C(1), C(2));
text(A(1),A(2),'A');text(B(1),B(2),'B'); text(C(1),C(2),'C'); 
axis ([-12, 6, -1, 6])
grid on

55d7f13c7ce3d26c26c4996623e190d7_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png


四、三维曲线

1、plot3函数

(1)基本用法:plot3(x,y,z)

其中,x,y,z组成一组曲线的坐标

例子:绘制一条空间折线

x=[0.2, 1.8, 2.5];
y=[1.3, 2.8, 1.1];
z=[0.4, 1.2, 1.6];
plot3(x,y,z)
axis([0, 3, 1, 3, 0, 2]);
grid on

ee4f908a2afd92c5585f16d2e9bca214_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png


例子:绘制螺旋曲线 x=sint+tcost;y=cost-tsint;z=t;(0≤t≤10Π)

t=linspace(0,10*pi,200);
x=sin(t)+t.*cos(t);
y=cos(t)-t.*sin(t);
z=t;
subplot(1,2,1)
plot3(x,y,z)
grid on
subplot(1,2,2)
plot3(x(1:4:200),y(1:4:200),z(1:4:200))
grid on

13424744f3934824552190d46e5e112b_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

(2)plot3(X,Y,Z)

参数X,Y,Z是同型矩阵,以X,Y,Z对应列元素绘制曲线,曲线条数等于矩阵列数。

参数X,Y,Z中有向量,也有矩阵时,向量的长度应与矩阵相符。

t=0:0.01:2*pi;
t=t.';
x=[t,t,t,t,t];
y=[sin(t),sin(t)+1,sin(t)+2,sin(t)+3,sin(t)+4];
z=t;
plot3(x,y,z)
t=0:0.01:2*pi;
x=t;
y=[sin(t);sin(t)+1;sin(t)+2;sin(t)+3;sin(t)+4];
z=t;
plot3(x,y,z)

159207f0753d1bede31290b606df3cd9_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

(3)含多组输入参数的plot3

plot3(x1,y1,z1,x2,y2,z2,……,xn,yn,zn)

每一组x、y、z向量构成一组数据点的坐标,绘制一条曲线。

t1=0:0.01:1.5*pi;
t2=0:0.01:2*pi;
t3=0:0.01:3*pi;
plot3(t1,sin(t1),t1, t2,sin(t2)+1,t2,t3,sin(t3)+2,t3)

a4fdaead3de53a15f4eedd9eb4321034_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

(4)含选项的plot3

plot3(x,y,z,选项)

选项用于指定曲线的线型、颜色和数据点标记。

例子:绘制空间曲线x=cost;y=sint;z=2t;(0≤t≤6Π)

t=0:pi/50:6*pi;
x=cos(t);
y=sin(t);
z=2*t;
plot3(x,y,z,'p')
xlabel('X'),ylabel('Y'),zlabel('Z');
grid on

47b139a3b84dda5b3db9e5f0afc001a6_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

2、fplot3函数

fplot3(funx,funy,funz,tlims)

其中,funx,funy,funz代表定义曲线x、y、z坐标的函数,通常采用函数句柄的形式。tlmis为参数函数自变量的取值范围,用二元向量[tmin,tmax]描述,默认为[-5,5]。

例子:绘制墨西哥帽顶曲线,x=e(-t/10)sin5t;y=e(-t/10)cos5t;z=t;t∈[-12,12]

x=@(t) exp(-t/10).*sin(5*t);
y=@(t) exp(-t/10).*cos(5*t);
z=@(t) t;
fplot3(x,y,z,[-12,12],'r')

2452902ba8cf571a806a703f417ed35c_watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1JpY2FyZG8y,size_16,color_FFFFFF,t_70.png

目录
相关文章
|
6月前
|
编解码 资源调度
MATLAB | 绘图配色第九期带高斯分布的直方图
MATLAB | 绘图配色第九期带高斯分布的直方图
82 0
|
6月前
|
编解码
MATLAB | 科研绘图第十一期动态趋势图
MATLAB | 科研绘图第十一期动态趋势图
63 0
|
6月前
|
存储 编解码
MATLAB | 科研绘图第十八期散点密度图
MATLAB | 科研绘图第十八期散点密度图
182 0
|
6月前
|
编解码
MATLAB | 科研绘图第十三期表示散点分布的双柱状统计图
MATLAB | 科研绘图第十三期表示散点分布的双柱状统计图
40 0
|
6月前
|
编解码
MATLAB | 科研绘图第十七期双Y轴图
MATLAB | 科研绘图第十七期双Y轴图
79 0
|
3月前
matlab绘图之plot使用
matlab绘图之plot使用
26 0
|
6月前
|
移动开发
MATLAB | SCI绘图配色第1期 | 点线图 | 刺客伍六七之暗影宿命第1集
MATLAB | SCI绘图配色第1期 | 点线图 | 刺客伍六七之暗影宿命第1集
152 0
|
5月前
|
数据处理
MATLAB 论文绘图规范标注
MATLAB 论文绘图规范标注
|
6月前
|
编解码
MATLAB | SCI 绘图配色第 2 期 | 三维柱状图 | 画江湖之不良人
MATLAB | SCI 绘图配色第 2 期 | 三维柱状图 | 画江湖之不良人
117 0
|
6月前
|
编解码
MATLAB | SCI绘图配色第三期 | 二维柱状图 | 一人之下
MATLAB | SCI绘图配色第三期 | 二维柱状图 | 一人之下
112 0