matlab三维图、二维云图的可视化绘图
matlab三维图、二维云图的可视化绘图1.meshgrid生成数据矩阵2.可视化方案3.shading类型matlab三维图、二维云图的可视化绘图
二维坐标系,单独的数据,利用三维图或者二维云图来进行可视化。
1.meshgrid生成数据矩阵
利用meshgrid()
函数来生成二维坐标轴的矩阵,以便后续函数调用。
x=-20:0.5:20;y=-20:0.5:20;[X,Y]=meshgrid(x,y); % 产生网格数据并处理f = function(x,y) % 对应的第三维数据
需要注意的一点是x
和y
向量必须长度相同,否则会报错。
2.可视化方案
测试了五种绘图函数方案,效果如下:
surf()
利用surf()
函数绘制三维图。x
和y
分别为xyxyxy轴的二维坐标,f
为zzz轴的数据值。
figure% surf画3维图surf(X,Y,p)shading interpcolorbartitle('surf三维图');
surf() + view()
利用surf()
函数绘制三维图。再利用view()
函数固定视角,查看俯视图(也可手动调整视角查看)。从而得到二维图,视觉效果即为云图。
figure% surf3维图利用view调整视图surf(X,Y,p)shading interpcolorbarview([90, 90]);% 调整试图位置title('surf + view');
surfl()
与surf()
函数效果相同,区别是得到的效果图颜色不同。同样也可以加上view()
函数固定视角等。
figure % surfl 与surf相比颜色不同surfl(X, Y, p)shading interpcolorbartitle('surfl')
pcolor()
直接获取二维云图,与surf() + view()
的效果是相同的。
figurepcolor(X, Y, p)% 二维 相当于surf+viewshading interpcolorbartitle('pcolor')
contourf()
直接获取二维云图,与pcolor()
效果相同,区别是数据中心处会显示等高线。
figure % 有等高线的pcolorcontourf(X, Y, p)shading interpcolorbartitle('contourf')
将上述五种方案进行总结对比,结果如下:
3.shading类型
在上述作图时,可以改变shading
设置从而使得可视化图片展现不同的效果。
使用较多的有3种shading
类型:1.flat
、 2.faceted
、 3.interp
。
其效果分别如下:
其中interp
型的最光滑;flat
型的效果居中;fceted
型的网格最明显。
综上对比测试,最终选取pcolor()
+shading interp
的方案来实现云图的可视化。
如果觉得《matlab三维图 二维云图的可视化绘图》对你有帮助,请点赞、收藏,并留下你的观点哦!