I would like to plot a 2d contour plot in 3d space but it should not be on the XY plane but on the ZX plane. Is there a way to change the plane on which it is ploted?
Here is some example:
line([0 0],[0 0],[0 1]);
And I want the Contour plot on the plane facing me!
This is just a rough idea of how it could work using
p = peaks(21); contourf(p); view(25,20);
Insert your data instead of
peaks(21) and be careful with the dimensions.
Then you can do something like
%Get a grid for your data. x and z have dimensions of your old data grid, %y will is used to build a volume, which will have three slices with the %data, which is necessary because contourslice takes a volume, not a surface x = -2:0.2:2; y = -0.1:0.1:0.1; z = -2:0.2:2; [X,Y,Z] = meshgrid(x,y,z); %Make your data matrix (which is 2D so far) 3D by repeating 3 times in Z u = repmat(p, [1, 1, 3]); Sx = ; %No planes to be drawn orthogonal to X Sy = 0; %One plane to be drawn orthogonal to Y Sz = ; %No planes to be drawn orthogonal to Z %Only draw one of your three y planes. Change X and Z. figure; contourslice(X,Y,Z,permute(u,[3, 2, 1]),Sx,Sy,Sz) view(25,20);