将MATLAB等高线图放在任何平面上

时间:2014-10-23 03:41:20

标签: matlab contour

我有一个3d绘图,我想在垂直(XZ)平面上放置一个2d等高线图。当我放置等高线图时,它总是将它放在XY平面上。如果是pcolor,我可以使用set和get交换YData和ZData,这很好。只有我想要轮廓图,而不是pcolor。

谢谢, 詹姆斯

1 个答案:

答案 0 :(得分:1)

由于您只有2D数据,只需将其外推以使其成为3D,方法是在Y方向重复(在本例中)。

% Sample data
m=-1:1:1;
[X,Y]=meshgrid(m)
Z=X+Y

% Create the 3D position grids
[xx,yy,zz]=meshgrid(m)
% Copy the data the appropriate number of times
vv=repmat(Z,[1 1 length(m)])
% permute dimensions so that everything is constant in the second (Y) dimension
vv=permute(vv,[1 3 2])

contourslice(xx,yy,zz,vv,[],[0 0],[])
view([30 20])