matlab或_MATLAB学习——Matlab绘图系列之基本绘图

39e79bc503ec34b8aa4c4c3265ac7596.png

前言

说是前言,其实就是和大家简单唠唠。我也是学MATLAB踩过不少的坑,所以一路走来感触很深,至今我还记得我大学的老师说过的一句话:一切以你亲自操作的为准。其实,我的体会就是多用、多练,熟能生巧来形容再合适不过了,也祝对MATLAB感兴趣的朋友们,可以在操作MATLAB的过程中有更大的收获和进步!

一、目录

1.区域图

2.填充图

二维填充图

三维填充图

3.条形图

二维条形图

三维条形图

4.直方图

笛卡儿坐标系下的直方图

极坐标系下得直方图

5.圆体图

圆柱体

球体

椭圆体

6.饼图

二维饼图

三维饼图

7.排列图

8.离散图形

二维柄状图

三维柄状图

阶梯图

9.散点图

二维散点图

多边形区域内的散点

三维散点图

散点图矩阵

10.轮廓图

二维轮廓图

填充轮廓线

三维轮廓图

11.向量图

罗盘图

羽状图

箭头图

法线图

12.多边形面积图

二、图形示例

1.区域图

MATLAB程序如下:

Y=[1,5,3;

3,2,7;

1,5,3;

2,6,1];

area(Y)

grid on

set(gca,'Layer','top')

title('Stacked Area Plot')

bd58e527fe112812fc97227b2329dc87.png
pic 1

2.填充图

二维填充图

MATLAB程序如下:

t=(1/16:1/8:1)'*2*pi;%八边形顶点

x1=sin(t);

y1=cos(t);

t=(0:1/10:1)'*2*pi;%十边形顶点

x2=2+sin(t);

y2=cos(t);

fill(x1,y1,'y',x2,y2,'w')

title('二维填充图示例')

axis equal

axis off

text(-0.75,0,'fontname{隶书}fontsize{32}八边形')

text(1.25,0,'fontname{隶书}fontsize{32}十边形')

7f793ab4d490f9615004b11a87955291.png
pic 2

三维填充图

MATLAB程序如下:

X=[0 1 1 2;1 1 2 2;0 0 1 1];%创建四个三角形

Y=[1 1 1 1;1 0 1 0;0 0 0 0];

Z=[1 1 1 1;1 0 1 0;0 0 0 0];

C=[0.5 1 1 0.5;

1 0.5 0.5 0.1667;

0.333 0.333 0.5 0.5];%色彩着色

fill3(X,Y,Z,C)

title('三维填充图')

fe24ba7f80d73fb41724fed59944acdb.png
pic 3

3.条形图

二维条形图

MATLAB程序如下:

Y=round(rand(5,3)*10);%随机函数产生5×3的数组,对产生的数据取整

subplot(2,2,1)

bar(Y,'group')

title('Group')

subplot(2,2,2)

bar(Y,'stack')%堆型二维垂直条形图

title('Stack')

subplot(2,2,3)

barh(Y,'stack')%堆型二维水平条形图

title('Stack')

subplot(2,2,4)

bar(Y,1.5)%设定条形的宽度为1.5

title('Width=1.5')

8fcef025a116e225a28c1335f10126cf.png
pic 4

三维条形图

MATLAB程序如下:

Y=[1 2 3 4 5 6 7;

1 2 3 4 3 2 1;

7 6 5 4 3 2 1];

subplot(2,3,1)

bar3(Y,'detached')

title('Detached')

subplot(2,3,4)

bar3(Y,0.25,'detached')

title('Width=0.25')

subplot(2,3,2)

bar3(Y,'grouped')

title('Grouped')

subplot(2,3,5)

bar3(Y,0.5,'grouped')

title('Width=0.5')

subplot(2,3,3)

bar3(Y,'stacked')

title('Stacked')

subplot(2,3,6)

bar3h(Y,0.3,'stacked')

title('Width=0.3')

355af112296b0bb91e254732f08b6b24.png
pic 5

4.直方图

笛卡儿坐标系下的直方图

MATLAB程序如下:

x=-2.9:0.1:2.9;

y=randn(1000,1)

hist(y,x)

title('笛卡儿坐标系下的直方图')

4a6a8c137b69640768e9847379fb5edf.png
pic 6

极坐标系下的直方图

MATLAB程序如下:

theta = 2*pi*rand(1,100);

rose(theta)

title('极坐标系下的直方图')

9a274d441eae71795a79131be3d242b4.png
pic 7

5.圆体图

圆柱体

MATLAB程序如下:

t=0:pi/10:2*pi;

[x,y,z]=cylinder(2+cos(t),100);

surf(x,y,z)

axis square

title('圆柱形图示例')

392f6433e03ec9a8745ffb7751c96080.png
pic 8

球体

MATLAB程序如下:

sphere

axis equal

383503c1d7132b0bc53de173b0d2830b.png
pic 9

椭圆体

MATLAB程序如下:

[x y z]=ellipsoid(1,2,3,5,1,10);

view(3)

surface(x,y,z)

title('椭圆体:中心点(1,2,3),半径(5,1,10)')

9f3354f16e72f9f38152eda5093ecd94.png
pic 10

6.饼图

二维饼图

MATLAB程序如下:

x=[1 3 0.5 2.5 2];

subplot(221);

pie(x)%绘制饼图

subplot(222)

explode=[0 1 0 0 0];

pie(x,explode)%加上分离的切片

subplot(223)

label={'一班' '二班' '三班' '四班' '五班'};

pie(x,label);%给每个切片加上标注

subplot(224);

pie(x,explode,label);%具有分离和自定义标注的功能

c3a6293beaa7e71a3f835da726804348.png
pic 11

三维饼图

x=[5 10 7 8 1.3];

explode=[0 1 0 0 0];

pie3(x,explode)

title('三维饼图')

605cae0a5e130be907be57e7a9d3f831.png
pic 12

7.排列图

MATLAB程序如下:

Y=[1 2 5 3.3 0.9 5.2];

names={'一队' '二队' '三队' '四队' '五队' '六队'};

X=[1 2 3 4 5 6];

subplot(211)

pareto(Y,names)%x轴的下标标识为names

title('排列图示例一')

subplot(212)

pareto(Y,X)

title('排列图示例二')%x轴下标有x指定

d025139ea66d98584b3f37e6f6438c7d.png
pic 13

8.离散图形

二维柄状图

MATLAB程序如下:

y=linspace(0,2*pi,10)

stem(cos(y),'fill','-.')%对离散图的末端进行了填充

title('二维柄状图示例');

b04e5eab06aa14f62f477162cbd08487.png
pic 14

三维柄状图

MATLAB程序如下:

X=linspace(0,2*pi,50);

Y=X./2;

Z=sin(X)+cos(Y);

stem3(sin(X),cos(Y),Z,'fill')

xlabel('sin(X)');

ylabel('cos(Y)');

zlabel('sin(X)+cos(Y)');

title('三维柄状图示例');

ac90084b450d9ded17ee4468671da7c5.png
pic 15

阶梯图

MATLAB程序如下:

x=0:.25:10;

subplot(211)

stairs(x,sin(x))

title('stairs函数应用示例')

subplot(212)

[xb,yb]=stairs(x,sin(x));%返回plot函数的两个参数

plot(xb,yb)

title('plot函数实现stairs函数应用示例')

55036eabd915405f130655fe01928a47.png
pic 16

9.散点图

二维散点图

MATLAB程序如下:

x=rand(1,100)*100;%绘制图标的x,y轴的坐标

y=rand(1,100)*100;

s=rand(1,100)*100;%绘制图标的大小

c=rand(1,100)*255;%绘制图标的颜色

subplot(2,1,1)

scatter(x,y);%绘制具有默认大小与颜色的二维散点图

title('二维散点图指令scatter(x,y)');

subplot(2,1,2)

scatter(x,y,s,c);%绘制由参数s、c定义的二维散点图

title('二维散点图指令scatter(x,y,s,c)');

bc0d542305030f6c329ba305b3d511bf.png
pic 17

多边形区域内的散点

L=linspace(0,2.*pi,6);

xv=cos(L)';

yv=sin(L)';

xv=[xv;xv(1)];

yv=[yv;yv(1)];%设定多边形

x=randn(250,1);

y=randn(250,1);%设定散点

in=inpolygon(x,y,xv,yv);%判断散点与多边形关系值

plot(xv,yv,x(in),y(in),'r+',x(~in),y(~in),'bo')

axis equal

0bcac4b9a267aea80cd51867bbb559c6.png
pic 18

三维散点图

MATLAB程序如下:

[x,y,z]=sphere(16);%获取球体的坐标

X=x(:);

Y=y(:);

Z=z(:);%矩阵的转换

S=floor((abs(Z)+1)*50);

C=floor(abs(Z)*255);%定义图标大小和颜色与球体的纬度有关

scatter3(X,Y,Z,S,C,'filled')%绘制三维散点图,填充图标

title('三维散点图:球体示例')

31a1553fe0437a1f712d921297ab5d59.png
pic 19

散点图矩阵

MATLAB程序如下:

x=randn(50,3);

y=x*[-1 2 1;2 0 1;1 -2 3];%定义绘制矩阵值

plotmatrix(y,'*b')

title('绘制3×3散点图矩阵')

a5750bb10f378a9fd3d11c7e09dc9ace.png
pic 20

10.轮廓图

二维轮廓图

MATLAB程序如下:

[X,Y]=meshgrid(-2:.2:2,-2:.2:3);%表面网格函数

Z=X.*exp(-X.^2-Y.^2);

[C,h]=contour(X,Y,Z,10);%绘制轮廓线

clabel(C,h)%对轮廓线进行标注

title('二维轮廓图示例')

aa94c223fdccbfab8697f49cf4d09ded.png
pic 21

填充轮廓线

MATLAB程序如下:

Z=peaks;

[C,h]=contourf(Z,10);%绘制二维轮廓线,并且填充

caxis([-20 20])%伪色彩,设置轴参数CLim和CLimMode

clabel(C,h)%标注轮廓线

title('Filled Contour Plot Using')

ced2d4106768bb19c20ed124f8cb9ee1.png
pic 22

三维轮廓图

MATLAB程序如下:

[X,Y]=meshgrid([-2:.25:2]);

Z=X.*exp(-X.^2-Y.^2);

[C,h]=contour3(X,Y,Z,30);%绘制三维轮廓图

grid off

%clabel(C,h)

title('三维轮廓图示例')

4433741f1ec646d192f0243d57225260.png
pic 23

11.向量图

罗盘图

MATLAB程序如下:

X=[0 30 90 45 145 270 330 225 150];

Y=[5 9 3 10 6 3 2.6 8 7.4];

X=X*pi/180;

[X,Y]=pol2cart(X,Y);%极坐标转化为直角坐标

compass(X,Y);

title('罗盘图示例')

8cf4528153035209c313881bd2c81b7c.png
pic 24

羽状图

theta=(-90:10:90)*pi/180;

r=2*ones(size(theta));

[u,v]=pol2cart(theta,r);

feather(u,v);

title('羽状图示例')

35bd9df7a9a9e9bd9d4fa347a8647e01.png
pic 25

箭头图

二维箭头图

MATLAB程序如下:

[X,Y]=meshgrid(-2:.2:2);

Z=X.*exp(-X.^2-Y.^2);

[DX,DY]=gradient(Z,.2,.2);%计算梯度,.2是DX方向距离

contour(X,Y,Z)

hold on

quiver(X,Y,DX,DY)

grid off

hold off

title('二维箭头图示例')

26e1006a14f7a9ba1eb2af6accfc8598.png
pic 26

三维箭头图

MATLAB程序如下:

[X,Y]=meshgrid(-2:0.25:2,-1:0.2:1);

Z=X.*exp(-X.^2-Y.^2);

[U,V,W]=surfnorm(X,Y,Z);%返回三维表面图的法线

quiver3(X,Y,Z,U,V,W,0.5);

hold on

surf(X,Y,Z);

axis([-2 2 -1 1 -.6 .6])

hold off

title('三维箭头图示例')

4ced1f7b8875ffc3e8fa21177d4bcff7.png
pic 27

法线图

MATLAB程序如下:

[x y z]=peaks(20);

surfnorm(x,y,z);

d0cb5a5267c5b262fb6435b27bab82ac.png
pic 28

12.多边形面积图

MATLAB程序如下:

L=Linspace(0,2.*pi,6);

xv=cos(L)';

yv=sin(L)';

xv=[xv;xv(1)];

yv=[yv;yv(1)];

A=polyarea(xv,yv);

plot(xv,yv);

title(['Area=' num2str(A)]);

axis image

62f3200e0b87c69ea005cd12e910f9a1.png
pic 29

如果大家想看更多有关数学方面的趣闻,欢迎点击下方链接相互学习:

1、小编“墙裂”推荐【谈谈无穷小等价替换的理解及风华正茂的我们 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/23128692】

2、【谈线性代数里面的正交变换和复习线代的感悟 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/30542390】

3、【恋爱之中的野蛮女友——函数的间断点问题 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/44099721】

4、【聊聊那些烦人的微分中值定理和e^x的泰勒展式的八卦 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/44017677】

5、【谈谈那些让你头疼的实数基本定理 - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/43692419】

6、【Mathematics student writing:看完这篇文章你会爱上数学! - 王朝阳的文章 - 知乎 https://zhuanlan.zhihu.com/p/38297140】

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值