图形处理与可视化
二维图形
基本绘图命令
1、plot函数只有一个输入变量时
y1=[1 3 5 7 9 7 5 3 1];
plot(y1) %以y的索引坐标为横坐标画图
y2=rand(100,1); %100*1维的随机数
plot(y2) %绘制随机数的图形
x=rand(100,1);
y=rand(100,1);
z=x+y.*i;
plot(z)
2、plot函数有两个输入变量时
x=0:0.01*pi:pi;
y=sin(x).*cos(x);
plot(x,y)
3、plot函数有三个输入变量时
x=1:0.1*pi:2*pi;
y=sin(x);
z=cos(x);
plot(x,y,'-b')
plot(x,z,'-.rd')
特殊坐标系
对数坐标系
semilogx(x,y,s) %以x为对数坐标
semilogy(x,y,s) %以y为对数坐标
loglog(x,y) %以x,y为对数坐标
极坐标系
polar(theta, rho, s)
例:
二维图形函数
函数名 | 说明 |
---|---|
area | 填充绘图 |
barth | 水平条形图 |
comet | 彗星图 |
errorbar | 误差带图 |
ezplot | 简单绘制函数图 |
ezpolar | 简单绘制极坐标图 |
feather | 矢量图 |
fill | 多边形填充 |
fplot | 函数图绘制 |
hist | 直方图 |
pareto | 图 |
pie | 柄状图 |
plotmatrix | 分散矩阵绘制 |
ribbon | 三维图的二维条状显示 |
stairs | 阶梯图 |
scatter | 散射图 |
stem | 离散序列柄状图 |
例
条形图
%条形图
x=1:10;
y=rand(1,10);
bar(x,y)
矢量图
x=0:0.1*pi:2*pi;
y=x.*sin(x);
feather(x,y)
曲线图
xt = @(t) cos(3*t);
yt = @(t) sin(2*t);
fplot(xt,yt)
填充等高线图
三维图形
基本绘图命令
plot3(x,y) % x是向量或矩阵
plot3(x,y,s) % s是属性
plot3(x1,y1,s1,x2,y2,s2,x3,y3,s3) % 组合绘图
网格函数
函数名 | 说明 |
---|---|
mesh | 三维网格图 |
meshc | 将网格与等高线结合 |
meshz | 屏蔽的网格图 |
meshgrid | 生成网格点 |
其它函数
函数名 | 说 明 |
---|---|
bar3 | 三维条形图 |
comet3 | 三维彗星轨迹图 |
cylinder | 柱面图 |
ezgraph3 | 控制绘制三维图 |
pie3 | 三维柄状图 |
scatter3 | 三维散射图 |
sphere | 球面图 |
stem3 | 三维离散数据图 |
surfc | 着色图等高线结合 |
trisurf | 三角形表面图 |
trimesh | 三角形网格图 |
waterfall | 瀑布图 |
图形处理
1、 图形控制
坐标轴的控制函数:axis ([xmin, xmax, ymin, ymax])
平面的坐标网图函数:grid on/grid off
2、图形的标注
命令 | 功能 |
---|---|
axis on/off | 显示/取消坐标轴 |
xlabel(‘option’) | x轴加标注 |
ylabel | y轴加标注 |
title(‘option’) | 图形加标题 |
legend | 图形加标注 |
grid on/off | 显示/取消网格线 |
box on/off | 坐标加/取消边框线 |
3、字符转换
4、颜色映像
颜色映像 | 颜色系 |
---|---|
autumn | 红黄色系 |
bone | 带蓝色的灰度 |
colorcube | 增强的颜色系 |
cool | 青和洋红的色系 |
copper | 线型铜色系 |
flag | 交替的红白蓝黑色系 |
gray | 线性灰色系 |
hot | 黑红黄白色系 |
hsv | 色调饱和色系 |
jet | 色调饱和色系 |
line | 线性色系 |
pink | 柔和色系 |
prism | 棱镜色系 |
spring | 洋红、黄色系 |
summer | 绿、黄色系 |
winter | 蓝绿色系 |
5、函数
(1)用颜色映像的函数为colormap,调用格式如下:colormap(colormap)
完成对颜色映像的定义后,用户就可以调用所定义的颜色映像,具体的有pcolor、rgbplot及colorbar等函数。
pcolor:函数pcolor为伪色函数,即不是真正的颜色,而是通过颜色的不同来反应相应的数值的大小。其调用格式如下:plolor(A)
rgbplot:函数rgbplot是一种直接显示颜色的函数。其调用格式如下:rgbplot(colormap)
colorbar:该函数将在当前的图型中显示颜色标尺,用来反应当前使用的颜色映像,并且以此反映图形中数据的相对大小。其调用格式如下:
colorbar('vert'): %垂直显示颜色标尺
colorbar('horiz')%水平显示颜色标尺`
(2)背景颜色操作函数 colordef
colordef none %将图形背景与图形窗口背景设为相同
colordef black %将图形背景设置为黑色
colordef white %将图形背景设置为白色
(3)在Matlab环境下调用外部图像的函数为imread,通过这个函数可以把由其它绘图软件编辑的图像转换成Matlab可识别的类型,调用格式:A=imread (filename, fmt)
(4)Matlab提供写入图像文件的函数为imwrite。该函数将图像矩阵写入外部文件,调用格式:imwrite(A, filename, fmt)
(5)在Matlab环境下显示外部图形的函数为image。调用格式:image(C)
6、光照控制
函数名 | 说明 |
---|---|
diffuse | 漫反射模式 |
light | 设置光源 |
lightangle | 球坐标系中的光源 |
lighting | 光源模式 |
material | 图形表面对光照反映模式 |
specular | 镜面反射模型 |
surfl | 存在光源的三维面图 |