matlab课设===特殊图形绘制 4
-
Matlab
特殊图形绘制
利用
matlab
函数提供的特殊绘图
函数来实现区域图、填充图、条形图、直
方图、圆体图、球体、椭球体、
(
2
维、
3
< br>维)饼图、排列图、二维柄状图、三维
柄状图、
阶梯图、
散点图、
轮廓图、
向量图
(罗盘图;
羽状图、
箭头图、
法线图)
。
验证如下函数的功能:
s
urfnorm,
quiver,
feather,
compass,
contour3,
contour,
plotmatrix,
scatter,
scatter3,
stairs,
stem,
stem3,
pareto,
pie3,
pie,
ellipsoid,
sphere,
cylinder, hist, bar3, bar, fill3, fill,
area.
利用具体实例说明
matlab
< br>的各种绘图函数的功能
1
软件介绍
............
..................................................
................. 1
1.1
Matlab
简介
........
..................................................
............ 1
2
Matlab
绘图
...................
..................................................
....... 1
2.1
区域图的绘制
..............................................
....................... 1
2.1.1
area
函数介绍
...................
.......................................... 2
2.1.2
用
area
绘制区域图
.................
........................................ 2
2.2
填充图的绘制
......
..................................................
............ 3
2.2.1
绘图函数
fill,fill3 .............
.......................................... 3
2.2.2
用
fill,fill3
绘制填充图
...........
........................................ 3
2.3
直方图的绘制
p>
.
.............................
....................................... 4
2.3.1
绘图函数
hist,rose ..............
.......................................... 4
2.3.2
用
hist,rose<
/p>
绘制直方图
............
........................................ 5
2.4
条形图的绘制
<
/p>
........................................
............................ 6
2.4.1
绘图函数
bar,bar3 ...............
.......................................... 6
2.4.2
用
b
ar,bar3
绘制直方图
................
.......................................7
2.5
圆体图、球体、椭球体的绘制
...
..................................................
. 8
2.5.1
用
cylind
er
绘制圆体图
.........
............................................ 8
2.5.2
用
sphere
绘制球
................
.......................................... 8
2.5.3
用
ellipsoid<
/p>
绘制椭球
.............
......................................... 9
2.6
二维、三维饼图的绘制
..
..................................................
....... 10
2.6.1
绘图函数
pie,pie3 ...............
......................................... 10
2.6.2
用
pie,pie3
p>
绘制饼图
..............
........................................ 10
2.7
排列图的绘制
..............................................
...................... 12
2.8
二维、三维柄状图的绘制
..........................
................................ 12
2.8.1
绘图函数
stem,stem3 .............
........................................ 133
2.8.2
用
stem,stem3
绘制柄状图
...........
....................................... 15
2.9
阶梯图的绘制
..............................................
...................... 16
2.9.1
绘图函数
stairs .................
......................................... 17
2.9.2
用
stairs
绘制阶梯图
...............
....................................... 18
2.10
散点图的绘制
.............................................
...................... 18
2.10.1
用
scatter
,
sca
tter3
绘制散点图
......
.................................... 19
2.10.2
用
plotmatri
x
绘制矩阵的散点图
.......
.................................... 19
2.11
轮廓图的绘制
.....
..................................................
........... 18
2.11.1
绘图函数
p>
contour
,
contour3
.............................................. 18
2.11.2
用
contour
p>
,
contour3
绘制轮廓图
................................
.......... 18
2.12
向量图(罗盘图、羽状
图、箭头图、法线图)的绘制
................................. 20
2.
12.1
用
compass
绘制罗盘图
、用
feather
绘制羽状图
p>
.
.............................
. 20
2.12.2
用
quiv
er
绘制箭头图、用
surfnorm
法线图
.................................. 21
目录
1.
软件介绍
简介
启动
Matlab
< br>后,进入
Matlab
的默认桌面(如上图)
。第一行为菜单栏,第
二行为工具栏,下面是三个最常用的窗口。右边最大
的是命令窗口(
Command
Window
)
,左上方前台为工作空间窗口
(workspace
)
,后台为当前目录窗口
(Current
< br>Dircstory)
,左下方为命令历史窗口
(Com
mand
History)
。左下角还有
一个开始(
Start
)按钮,用于快速启动各类交互界面
、桌面工具和帮助等。
2.
Matlab
绘图
2.1
区域图的绘制
2.1.1 area
函数介绍
面域图指令
area
。
该指令的特点是:
在图上绘制多条曲线时,
每条曲
线
(除
第一条外)都是把“前”条曲线作基线,再取值绘制而成
。因此,该指令所画的
图形,能醒目地反映各因素对最终结果的贡献份额。
area
的第一输入宗量是单
调变化的自变量。第
二输入宗量是“各因素”的函数值矩阵,且每个“因素”的
数据取列向量形式排放。
p>
第三输入宗量是绘图的基准线值,
只能取标量。
当基准
值为
0
(即以
x
轴为基准线)时,第三输入宗量可以缺省。
1
2.1.2
用
area
绘制区域图
area:
绘制区域图
area
函数的调用格式如下:
area(Y)
area(X,Y)
area(...,ymin)
area(...,
p>
’
PropertyName
’
,PropertyValue,...)
h=area(...)
实例
2.1.2
区域图示例
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')
图
2.1.2
区域图示例
2
2.2
填充图的绘制
2.
2.1
绘图函数
fill,fill3
fill
用于二维填充
fill3
用于三维填色
2.2.2
用
fill,fill3
绘制填充图
用
fill
制图程序:
fill
函数的调用格式如下:
fill(X,Y,C)
fill(X,Y,ColorSpec)
fill(X1,Y1,C1,X2,Y2,C2,...)
fill(...,<
/p>
’
PropertyName
’
,PropertyValue)
h=fill(...)
实例
2.2.2.a
区域图示例
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,'r',x2,y2,'b')
%
绘制添色多边形
title '
二维填充图示例
'
axis off
text(-0.75,0,'fontn
ame{
隶书
} fontsize{32}
八边形
')
text(1.25,0
,'fontname{
隶书
} fontsize{32}
十边形
')
%
文字标注
3
用
fill3
制图程序:
fill3
函数的调用格式如下:
fill3(X,Y,Z,C)
fill3(X,Y,Z,ColorSpec)
fill3(X1,Y1,Z1,C1,X2,Y2,Z2,C2,...)
fill3(...,
’
Prope
rtyName
’
,PropertyValue)
h=fill3(...)
实例
2.2.2.b
区域图示例
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('
三维填充图
')
2.3
直方图的绘制
2.3.1
绘图函数
rose
,
h
ist
rose
用于绘制极坐标系下的直方图
;hist
用来绘制统计直方图。
4
2.3.2
用
rose
,
hist
绘制直方图
rose
函数的调用格式如下:
rose(theta)
rose(theta,X)
rose(theta,nbins)
[tout,rout]=rose(...)
极坐标系下的直方图示例
:
theta=2*pi*rand(1,100)
rose(theta)
title('
极坐标系下的直方图
')
hist
函数的调用格式如下:
n=hist(Y)
n=hist(Y,X)
n=hist(Y,nbins)
[n,xout]=hist(...)
笛卡尔坐标系下的直方图示例
:
x=-2.9:0.1:2.9;
y=randn(1000,1)
hist(y,x)
p>
title('
笛卡儿坐标系下的直方图
'
)
5
2.4
条形图的绘制
2.4.1
绘图函数
bar,bar3
bar:
绘制二维垂直条形图
bar3:
绘制三维条形图函数
2.4.2
用
bar,bar3
p>
绘制直方图
bar
函数的调用格式如下:
bar(Y)
bar(X,Y)
bar(...,width)
bar(...,LineSpec)
h=bar(...)
二维条形图示例
:
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'
6
用
bar
3
绘图程序:
bar3
函数的调用格式如下:
bar3(Y)
bar3(X,Y)
bar3(...,width)
bar3(...,<
/p>
’
style
’
)
bar3(...,LineSpec)
h=bar3(...)
三维条形图示例
:
Y = [1 2 3 4 5 6 7;
1 2
3 4 3 2 1;
7 6 5 4 3 2 1];
subplot(3,2,1)
bar3(Y
,'detached')
title('Detached')
subplot(3,2,2)
bar3(Y
,0.25,'detached')
title('Width = 0.25')
subplot(3,2,3)
bar3(Y
,'grouped')
title('Grouped')
subplot(3,2,4)
bar3(Y
,0.5,'grouped')
title('Width = 0.5')
subplot(3,2,5)
bar3(Y
,'stacked')
title('Stacked')
subplot(3,2,6)
bar3h(Y
,0.3,'stacked')
title('Width = 0.3')
7
2.5
圆体图、球体、椭球体的绘制
2.5.1
用函数
cylinder
来绘制圆柱形图
cylinder
的调用格式:
[X,Y,Z]=cylinder
[X,Y,Z]=cylinder(r)
[X,Y,Z]=cylinder(r,n)
cylinder(...)
实例
2.4.1a
圆柱形图示例:
t=0:pi/10:2*pi;
[x,y,z]=cylinder(2+cos(t),100);
surf(x,y,z)
axis square
title('
圆柱形图示例
')
运行结果:
2.5.2
用
< br>sphere
绘制球
sphere
函数调用格式:
sphere
sphere(n)
球体函数应用实例:
8
sphere
axis equal
运行结果:
2.5.3
用
ellipsoid
绘制椭球
< br>ellipsoid
:绘制椭圆体图形(其实只是产生椭圆体据点)
ellipsoid
调用格式为:
[X,Y,Z]=ellipsoid(xc,yc,zc,xr,yr,zr,n)
[X,Y,Z]=ellipsoid(xc,yc,zc,xr,yr,zr)
ellipsoid(...)
椭圆体数据产生公式如下:
(
Y
y
c
)
2
(
Z
z
c
)
(
X
xc
)
1
x
r
y
p>
c
z
c
椭圆体示例:
[x y z]=ellipsoid(1,2,3,5,1,10);
%
椭圆体数据的产生
view(3)
%
三维视角
surface(x,y,z)
title('
椭圆体:中心点
(1,2,3)
,半径
(5,1,10)')
运行结果:
2
9
2.6
二维、三维饼图的绘制
2.6.1
绘图函数
pie,pie3
饼图指令
pie , pie3
用来表示各元素占总和的百分数。
2.6.2
用
pie,pie3
p>
绘制饼图
用
pi
e
绘图程序:
pie
函数的调用格式:
Pie(X)
Pie(X,explode)
H=pie(...)
二维饼图示例
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,labe
l);%
给每个切片加上标注
subplot(224);
pie(x,explode,
label);%
具有分离和自定义标注的功能
10