我想要如下图:
此处,根据 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/