matlab三维图、二维云图的可视化绘图

matlab三维图、二维云图的可视化绘图

​ 二维坐标系,单独的数据,利用三维图或者二维云图来进行可视化。

1.meshgrid生成数据矩阵

​ 利用meshgrid()函数来生成二维坐标轴的矩阵,以便后续函数调用。

x=-20:0.5:20;
y=-20:0.5:20;
[X,Y]=meshgrid(x,y); % 产生网格数据并处理
f = function(x,y)	 % 对应的第三维数据

需要注意的一点是xy向量必须长度相同,否则会报错。

2.可视化方案

​ 测试了五种绘图函数方案,效果如下:

  • surf()

    利用surf()函数绘制三维图。xy分别为 x y xy xy轴的二维坐标,f z z z轴的数据值。

    figure          % surf画3维图
    surf(X,Y,p)
    shading interp
    colorbar
    title('surf三维图');
    

在这里插入图片描述

  • surf() + view()

    利用surf()函数绘制三维图。再利用view()函数固定视角,查看俯视图(也可手动调整视角查看)。从而得到二维图,视觉效果即为云图。

    figure          % surf3维图利用view调整视图
    surf(X,Y,p)
    shading interp
    colorbar
    view([90, 90]);     % 调整试图位置
    title('surf + view');
    

在这里插入图片描述

  • surfl()

    surf()函数效果相同,区别是得到的效果图颜色不同。同样也可以加上view()函数固定视角等。

    figure              % surfl 与surf相比颜色不同
    surfl(X, Y, p)
    shading interp
    colorbar
    title('surfl')
    

在这里插入图片描述

  • pcolor()

    直接获取二维云图,与surf() + view()的效果是相同的。

    figure
    pcolor(X, Y, p)     % 二维 相当于surf+view
    shading interp
    colorbar
    title('pcolor')
    

    在这里插入图片描述

  • contourf()

    直接获取二维云图,与pcolor()效果相同,区别是数据中心处会显示等高线。

    figure              % 有等高线的pcolor
    contourf(X, Y, p)
    shading interp
    colorbar
    title('contourf')
    

    在这里插入图片描述

    上述五种方案进行总结对比,结果如下:

函数说明
surf是三维图,移动视角只看xz轴可得二位云图
surf+view二维云图,利用view自动固定视角
surfl与surf类似,云图颜色不同
pcolor与surf+view的效果相同
contourf云图中有等高线的pcolor

3.shading类型

​ 在上述作图时,可以改变shading设置从而使得可视化图片展现不同的效果。

​ 使用较多的有3种shading类型:1. flat、 2. faceted、 3. interp

​ 其效果分别如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

​ 其中interp型的最光滑;flat型的效果居中;fceted型的网格最明显。
综上对比测试,最终选取pcolor()+shading interp的方案来实现云图的可视化。

  • 42
    点赞
  • 181
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于Matlab的三维温度云图,我找到了以下的引用,这些引用提供了一些关于如何绘制三维点云图并显示温度信息的示例代码。你可以根据这些代码来实现你所需要的功能。 首先,你需要一个包含温度信息的点云数据,该数据应该包含X、Y、Z坐标以及温度V。然后,你可以使用MATLAB的scatter3函数来绘制点云图。你可以使用scatter3函数的第四个参数来表示点的颜色,可以将温度值V作为该参数的输入。例如,scatter3(X, Y, Z, 25, V, 'filled')可以绘制点云图并使用颜色表示温度。 为了在鼠标点击时显示点的详细信息,你可以使用datacursormode函数和set函数来添加数据提示功能。具体实现方法是将以下代码放在绘制点云图程序的后面: dcm_obj = datacursormode(gcf); set(dcm_obj, 'UpdateFcn', {@myupdatefcn, X1}) 这段代码将为图形窗口添加一个数据提示模式,并指定了一个回调函数myupdatefcn,当鼠标点击点云图上的点时,该函数将被调用,你可以在该函数中自定义需要显示的数据。 希望这些信息能够帮助到你实现Matlab的三维温度云图。如果你有任何其他问题,请随时询问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [用MATLAB 绘制三维点云图,并且鼠标点击点云显示X,Y,Z和V速度](https://blog.csdn.net/qq_42046837/article/details/129945973)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值