MATLAB三维曲面作图(六)等高线绘图(填色)
上一篇文章中,我们介绍了如何绘制等高线
但上一篇用到的contour函数绘制的等高线只有区域没有颜色
如果想要填充颜色,我们需要用到contourf函数
代码如下
close all
[X,Y] = meshgrid(-8:0.5:8);
R = sqrt(X.^2+Y.^2)+eps;
Z = sin(R)./R;
[C,h]=contourf(X,Y,Z);
colormap gray
colorbar
set(h,'ShowText','on','TextStep',get(h,'LevelStep'))
我们只替换函数本身,就可以得到图示的效果
如果注释掉gray的语句
%colormap gray
可以得到如图的效果:
另一种方法是用pcolor绘制,但此时没有等高线:
pcolor(X,Y,Z);
%colormap gray
colorbar
结果:
可以看出,这是将图形均匀地分为小正方形色块,并对每一个小正方形填充同样的颜色,有些类似我们在前几篇文章中介绍过的surf函数
同样的,添加下列语句使得颜色过渡更平滑:
shading interp
结果:
参考《高等光学仿真——光波导、激光》