曲线绘制一般方法

版权声明:by goog https://blog.csdn.net/qq_39481214/article/details/81877747

曲线绘制一般方法

1.多个图像绘制

1.1指定图形窗口

figure(n); % 产生新图形窗口

这里写图片描述

1.2 同一个窗口多个子窗

subplot(m,n,k);
% 使m*n幅子图的第k幅成为当前图

x = 0:0.1:2*pi;

subplot(2,2,1);
plot(x,sin(x));

subplot(2,2,2);
plot(x,cos(x));

subplot(2,2,3);
plot(x,tan(x));

subplot(224);
plot(x,sin(3*x));
%两两一配对

这里写图片描述

1.3同一窗口多次叠绘

hold on  % 使用当前坐标系和图形保留
hold off   % 使用当前坐标系,图形不保留
hold  % 在上面两个命令中切换

1.4 双纵坐标轴

plotyy(x1,y1,x2,y2);

figure(2);
plotyy(x,sin(x),x,cos(x));

这里写图片描述

2.曲线的线形,颜色和数据点形

plot(x,y,s) % x为横坐标,y为纵坐标,s为字符串参数

x = 0:0.1:2*pi;
plot(x,sin(x),'b:o');

更多参数查看书120
这里写图片描述

3. 设置坐标轴和文字标注

3.1坐标轴的控制

在这里介绍几个,更多请参看书121

axis off  %  取消轴背景
axis on  % 使用轴背景
axis([xmin,xmax,ymin,ymax]);  %  设定坐标范围

3.2 设置分格线

grid on  % 显示分格线
grid off  % 关闭分格线
grid  % 以上两个命令切换
x = 0:0.1:2*pi;

plot(x,sin(x),'b:o');
grid on;  % 这个命令要放在绘图之后

这里写图片描述

3.3文字标注

3.3.1添加图名

title(s) % 图名

3.3.2添加坐标名

xlable(s) % 横坐标
ylable(s) % 纵坐标

3.3.3图例

legend(s,pos) % 在指定位置建立图例
legend off % 擦出图例
% 如果有多个注释则可以用 ‘s1’, ‘s2’, ‘s3’….的方式;参数pos是图的位置,具体如下:

pos取值 0 1 2 3 4 -1
图例位置 自动取最佳位置 右上角 左上角 左下角 右下角 图右侧

3.3.4添加文字注释

text(xt,yt,s); % 在图形(xt,yt)处书写文字注释

x = 0:0.1:2*pi;

plot(x,sin(x),'b:o');
grid on;

title('s-sin(x)');  % 添加标题
xlabel('x');  % 添加横坐标
ylabel('sin(x)');  % 添加纵坐标
legend('x');  % 添加图例
text(pi,sin(pi),'x=\pi');  % 在指定位置加上文字注释

这里写图片描述

3.4 坐标刻度

使用xtick,ytick划分坐标刻度
使用xticklabel,yticklabel 标注坐标刻度

x = 0:0.1:2*pi;

plot(x,sin(x),'b:o');
axis([0,2*pi,-2,2]);
set(gca,'xtick',0:pi/2:2*pi);
set(gca,'xticklabel',{'0','pi/2','pi','pi3/2','2pi'});
grid on;

这里写图片描述

3.4交互式图形命令

[x,y]=ginput(n) % 使用鼠标从图形上获取n个点的坐标(x,y)

gtext(’s‘); % 使用鼠标把字符串放置在图形上

x = 0:0.1:2*pi;

plot(x,sin(x),'b:o');
[m,n]=ginput(2);  % 取两个坐标
m;
n;
gtext('pi/2');  % 写上pi/2

这里写图片描述

4. 特殊图形绘制

4.1条形图

函数 功能 函数 功能
bar 垂直条形图 bar3 垂直三维条形图
barh 水平条形图 bar3h 水平三维条形图

bar(x,y,width,’参数’); % 画条形图
bar3(y,z,width,’参数‘); % 画三维条形图

x = 3:6;
y = [ 5.3 13.0 0.4
    5.1 11.8 -1.7
    3.7 8.1 0.6
    1.5 7.7 -4.5];
bar(x,y);
figure(2);
bar3(x,y);

这里写图片描述
这里写图片描述

4.2面积图和实心图

4.2.1面积图

面积图:在曲线和坐标轴之间填充颜色

area(y); % 画面积图
area(x,y);

4.2.2实心图

实心图:将数据的起点和终点连成多边形

fill(x,y,c);
c 为实心的颜色

x = 1:3;
y = [ 1 3 9
     13 7 12
     20 15 16];
 area(x,y);
 title('面积图');
 figure(2);
 fill(x,y,'r*');
 title('实心图');

这里写图片描述
这里写图片描述

4.3 直方图

hist(y,m); % 统计每段元素个数并画出直方图
hist(y,x);
m为分段个数;x是向量,用来指定每个所分数段的中间值;y可以是向量也可以是矩阵

y1 = randn(10,3);  % 产生10*2的正态分布的随机数矩阵
 x1 = -2:0.5:2;
 figure(3);
 hist(y1,x1);

y1的值:

0.671497133608081 0.888395631757642 -0.102242446085491
-1.20748692268504 -1.14707010696915 -0.241447041607358
0.717238651328839 -1.06887045816803 0.319206739165502
1.63023528916473 -0.809498694424876 0.312858596637428
0.488893770311789 -2.94428416199490 -0.864879917324457
1.03469300991786 1.43838029281510 -0.0300512961962686
0.726885133383238 0.325190539456198 -0.164879019209038
-0.303440924786016 -0.754928319169703 0.627707287528727
0.293871467096658 1.37029854009523 1.09326566903948
-0.787282803758638 -1.71151641885370 1.10927329761440

这里写图片描述
图片解析:产生10行三列数据,按照在每一列计数。
例如:图中统计数据在(-1.5~-0.5),第一列:2个;第二列:4个;第三列:1个;这里数据有效数字有点多,自己慢慢找找;

4.4 饼形图

pie(x, explode,’label’); % 画出二维饼图
pie3(x, explode,’label’); % 画出三维饼图
x为向量;explode是和x同一长度的向量,决定是否从并图中分离出一部分;’label’用来表示图形字符串数组;

y2 = [100,300,200,500];
 explode = [0 1 0 1];
 figure(4);
 pie(y2,explode,{'第一季度','第二季度','第三季度','第四季度'});

这里写图片描述

4.5 离散数据图

stem stem3 stairs scatter
绘制二维火柴杆图 绘制三维火柴杆图 阶梯图 点图

用法都和plot()相似

 x3 =0:0.1:2*pi;
 y3 = sin(x3).*exp(-2*x3);
 figure(5);
 subplot(3,1,1);
 stem(x3,y3,'filled');
 subplot(3,1,2);
 stairs(x3,y3);
 subplot(313);
 scatter(x3,y3);

要执行按元素相乘,请使用 ‘.*’;filled用来填充点标记
这里写图片描述

4.6 对数坐标和极坐标图

semilogx(x,y,’参数’); % x为对数坐标的曲线
semilogy(x,y,’参数’); % y为对数坐标的曲线
loglog(x,y,’参数’); % 绘制x,y都为对数的曲线

4.7 等高线图

polar(theta,radius,’参数’); % 绘制极坐标图

 the = -pi:0.01:pi;
 r = 2*sin(5*the).^2;
 figure(6);
 polar(the,r);

这里写图片描述

4.8 复向量图

4.8.1compass命令

compass绘制起点是原点的复向量图

compass(u,v); % 画罗盘图
compass(z);
u,v分别代表实部和虚部

4.8.2feather

起点为(k,0)的复向量图,又称羽毛图

feather(u,v); % 画出羽毛图
feather(z);

 th = 0:0.2:2*pi;
 z = sin(th).*exp(j*th);
 figure(7);
 compass(z);
 figure(8);
 feather(z);

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_39481214/article/details/81877747