Shifting the z-position of imagesc() when used along with surf

27 views (last 30 days)
I want to create a surf plot along with an image on the same object as given below;
figure(1)
surf(x,y,z);hold on
imagesc(x,y,z);
By default the z position of the imagesc is at z=0, which does not serve my purpose. I want to shift the location either upwards or downwards in z-direction. I understand that imagesc is a 2-D plot object and it does not have a z- axis. Is there any work around to shift the position of the imagesc along the z axis of the surf plot?
Thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 28 Nov 2020
Edited: Walter Roberson on 29 Nov 2020
hgtransform group with a transformation matrix that is a z translation, and parent the imagesc to that.
However I would suggest rescale() and then warp() https://www.mathworks.com/help/images/ref/warp.html#d122e242257
  3 Comments
Walter Roberson
Walter Roberson on 29 Nov 2020
I recommend the warp() version: it creates a surface() object, and that object will not disappear if you view it at an angle (as happens for image objects.)

Sign in to comment.

More Answers (1)

dileesh pv
dileesh pv on 29 Nov 2020
The solution has been shared in the fileexchange incase someone is interested.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!