在发表论文时,我们总是希望能够尽可能将数据以直观的方式可视化,以便增加可读性。当我们处理一个三维数据时,三维切片图及其动态是比较有效的方式(Origin中怎样做三维切片图,如何在matlab中实现三维视图不同视角动态)。除此之外,三维等值面图也是一种非常不错的选择。
那么什么是三维等值面图呢?我们以一个三维数据的等值面图为例(展示如下)
可以看出,通过绘制等值面图,我们可以将三维数据很好地可视化。这里的绘图命令用了isosurface(T,X,Y,II,0.5),T,X,Y分别为坐标,II是我们的三维数据,0.5是等值面的值。当然,这里的坐标和数据集II都是三维矩阵,如下
如果我们希望改变颜色,修改绘图命令为
hiso = patch(isosurface(T,X,Y,II,0.5));
isonormals(T,X,Y,II,hiso) %平滑
hiso.FaceColor = 'red'; %等值面上色
hiso.EdgeColor = 'none';
daspect([1,1,1])
这里的daspect([1,1,1])表示坐标轴为1:1:1。则我们可得到如下视图
最后修改一下透明度
此外,结合我们在MATLAB为图片添加坐标中介绍的方法,同时将投影图一并画在图中,可以更好地将数据可视化。
详情咨询可也搜索公众号:光学师兄的日常