MATLAB Answers

Plot contour in xz and yz plane

34 views (last 30 days)
masterfelu on 13 May 2020
Edited: metrize on 25 Feb 2021
I am trying to plot contours in xy, yz and xz plane simultaneously. The contour is for a surface (Z = f(X,Y)). I made the contour on xy plane but not on any other plane. A similar question was answered but it does not plot the contour in xz or yz plane.
Walter Roberson
Walter Roberson on 13 May 2020
You are right, those instructions are only valid up to R2014a.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 13 May 2020
Create a hgtransform object inside the axes, say HG. Now call contourf() passing in the hgtransform object, HG, in the first position -- the position for axes. Pass the first independent variables in the first position, the second independent variable in the second position, and the resultant variable in the third position.
Now set the Matrix property of the hgtransform to a rotation matrix that rotates from XYZ coordinates into the axes you want. You may wish to use makehgtform to construct the Matrix property.
If you wish to have additional contours on other planes, repeat the process described.
metrize on 25 Feb 2021
@Walter Roberson Hi, I'm having trouble with something similar to this, I'm trying to plot multiple contour plots from inside a for loop and the only way I can move it is with h.ContourZLevel = x; where x is the current value in the for loop, this means i get contour plots stacking in the z axis, but then I cannot view it in the way I want, I need it to be in x,y with the depth as Z, an image is shown:
By doing it this way I can't view it with x,y,depth, but I don't know any other way to plot the contour plots in the for loop without the h.ContourZLevel = x

Sign in to comment.

More Answers (0)




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!