数据可视化
1 二维数据可视化
1.1 基本二维曲线绘制
- plot(y,‘s’)
y可以是向量、实数矩阵或复数向量。- y是向量:绘制以向量索引为横坐标、以向量元素值为纵坐标的图形。
- y是实数矩阵:绘制y的列向量对其坐标索引的图形。
- y是复数向量:plot(y)相当于plot(real(y),imag(y))
y= 5*(rand(1,10)-.5)
figure(1)
plot(y)
y= [0 1 2;2 3 4;5 6 7]
figure(2)
plot(y)

- plot(x,y,‘s’)
x,y均可以是向量和矩阵。- x,y均是n维向量:绘制向量y对向量x的图形, x为横坐标、 y为纵坐标。
- x是n维向量,y是m×n或n×m阶矩阵:在同一图内绘制m条不同颜色的曲线,x为横坐标、 纵坐标为y矩阵的m个n维分量。在同一图内绘制多条自变量相同的不同的曲线。
- x ,y均是m×n阶矩阵:在同一图内绘制n条不同颜色的曲线,以x对应列分量为横坐标、 y对应列分量为纵坐标。
x=0:0.1:10;
y= sin(2*x);
figure(1);plot(x,y)
x=0:0.1:10;
y=[sin(x)+2; cos(x)+1];
figure(2);plot(x,y)

x=0:0.01:10;
y1=sin(x)+2;
y2= cos(x)+1;
figure(1);plot(x,[y1;y2]) %%%%plot(t,[y1;y2;...])
x=0:0.01:10;
y1=sin(x)+2;
y2= cos(x)+1;
figure(2);plot(x,y1)
hold on
plot(x,y2,'r') %%%%plot(t,y1) hold on plot(t,y2,'r')

t1=0:0.2:4*pi;
y1= exp(-0.1*t1).*sin(t1);
t2=0:0.2:2*pi;
y2= exp(-0.5*t2).*sin(5*t2+1);
figure(1);plot(t1,y1,'+k',t2,y2,':r')

1.2 绘图辅助操作
- 颜色、标记和线型



- 坐标轴标注和范围设置
坐标轴的标注、范围、刻度以及宽高比。
- 坐标轴标注函数:xlabel、ylabel、zlabel
格式:xlabel (‘string’)
,string:标注所用的说明字符串,例:xlabel (‘x’)
- 坐标范围标注函数:axis
格式:axis
(横轴范围 纵轴范围),例:axis([-4 4 -5 5])
- 刻度设置
格式:set(gca,'Xtick',xs,'Ytick',ys,'Ztick',zs)
,gca返回当前坐标对象的句柄,xs,ys,zs为任意合法的实数向量,决定x,y,z轴的刻度。 - 分格线
grid on 显示;grid off 不显示 - 坐标框
box on 开启;box off 封闭
- 标题和图例标注
- 标题是对所绘图形的说明。
格式:title (‘string’)
,string:标注所用的说明字符串 - 图例标注是为图形中的所有曲线进行标注。
格式:legend (‘string1’, ‘string2’,…) legend (‘location’, ‘location’,…)
,stringi:标注按绘制的先后顺序生成的曲线;legend:定义标注放置的位置
- 标题是对所绘图形的说明。
1.3 双纵坐标、多子图绘制
- 双纵坐标绘图
plotyy(x1,y1,'s1',x2,y2,'s2')
两条曲线x1-y1、x2-y2分别以左右纵轴为纵坐标。
x1=0:0.1:5;
y1= exp(-x1/3);
x2=0:0.1:5;
y2= sin(2*x2);
plotyy(x1,y1,x2,y2)
title(‘plotyy exam’)

- 多子图绘制
在一个图形窗绘制多条不同的曲线。subplot(m,n,p)
,将图形窗分为m×n个子窗口,在第p个子窗口中绘制图形。子图的编号顺序为从左到右,从上到下。p为子图编号。
t=0:0.2:4*pi;
y= exp(-0.1*t1).*sin(t1);
subplot(2,2,1),stem(t,y);
subplot(2,2,2),stairs(t,y);
subplot(2,2,3),bar(t,y);
subplot(2,2,4),fill(t,y,'r');

- 多图绘制
生成多个图形窗口。figure(1)、figure(2)
1.4 图形的直接编辑

2 三维数据可视化
2.1 三维曲线绘制
代码:plot3(x,y,z,'s')
,grid:图上加坐标网格
z=0:0.1:4*pi;
x= cos(z);
y= sin(z);
subplot(1,2,1),plot3(x,y,z);
subplot(1,2,2),plot3(x,y,z),grid;

2.2 三维曲面绘制
mesh
网格状曲面
surf
给网格填充了颜色的曲面
x=-8:0.5:8;
y=x';
X=ones(size(y))*x;
Y=y*ones(size(x));
R=sqrt(X.*X+Y.*Y);
z=sin(R)./R;
subplot(1,2,1),mesh(z);
subplot(1,2,2),surf(z);

3.其他绘图命令
bar(x,y,选项)%%生成条形图
stairs(x,y,选项)%%生成阶梯图
stem(x,y,选项)%%生成杆图
fill(x1,y1,选项1,x2,y2,选项2,…)%%生成填充图
scatter(x,y)%%生成散点图
bar3,pie3,fill3,contour3等等