如何在Matlab中根据数值设置曲面透明度?

kcwpcxri  于 2023-02-05  发布在  Matlab
关注(0)|答案(1)|浏览(414)

我正在绘制一个曲面,我想根据z2的值添加透明度。也就是说,如果z2 = max(z2),则透明度为0,而当z2 = min(z2)时,透明度为1。我该怎么做呢?

h=surf(x2,y2,z2);
set(h, 'EdgeColor','none', 'FaceColor','interp', 'FaceLighting','gouraud')
ax6ht2ek

ax6ht2ek1#

实际上,我刚刚想到如何在我开发的一个小应用程序中做到这一点。我将包含一个代码的工作示例,该代码基于点处的z值来改变简单曲面的透明度。代码的关键部分是指定“AlphaData”的位置,它允许您按照自己的意愿动态更改曲面的透明度。

[x,y] = meshgrid([-2:.2:2]);
z = x.*exp(-x.^2-y.^2);
figure
hold on
colormap jet
surf(x,y,z,'FaceAlpha','flat',...
'AlphaDataMapping','none',...
'AlphaData',abs(z),'Edgecolor','None')
set(gcf,'position',[350,0,900,900])
view([45,20])
grid on
colorbar ```

相关问题