matlab - 在单个图中绘制 3d 图(维格纳函数)的 x-y 平面投影以及 3d 图

标签 matlab plot 3d contour

我想要如下图:

Wigner plot

此处,根据 x,y 数据计算出的维格纳函数绘制为 W,并且还显示了它在 x-y 平面上的投影。 我使用以下代码绘制了维格纳函数。如何在同一图中显示 W 在 x-y 平面上的投影?

xvec = [-2:2]; 
yvec = xvec;
W = wfunc(psi,xvec,yvec,g);
f1 = figure(1); 
mesh(xvec,yvec,real(W));
shading interp

最佳答案

您可以使用hold on在同一图中添加多个图形对象。例如:

figure    
surf(xvec,yvec,real(W),'linestyle','none')
hold on
contourf(xvec,yvec,real(W),100,'linestyle','none')

您可以使用以下方法移动等高线颜色图的 z 位置(注释 here 后面)

[~,hc] = contourf(xvec,yvec,real(W),100,'linestyle','none');
hcpatches = findobj(hc,'Type','Patch');
for n=1:length(hcpatches)
  set(hcpatches(n),'ZData',-5*ones(size(get(hcpatches(n),'XData'))))
end

此外,您可以尝试使用surfc

关于matlab - 在单个图中绘制 3d 图(维格纳函数)的 x-y 平面投影以及 3d 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39437322/

相关文章:

matlab - 如何在 MATLAB 中实现 svmtrain() 函数的数据?

Matlab GUIDE - 当我完成浏览时如何更新 "File Path"文本框,反之亦然?

r - 用 R 中的颜色填充绘图中的轮廓线

3d - 从点云检测旋转轴

javascript - 优化 3D 世界 Javascript 动画

matlab - 如何在 MATLAB 中求解只有一个分量的线性系统

matlab:具有大量数据点的散点图

r - 替代 ggplot2 2.0 中已弃用的 axis.ticks.margin

r - 如何生成中心图

windows - 有关 3MF 文件格式的信息(用于 3D 打印)