Swap axis in 3d figure

9 views (last 30 days)
Ana
Ana on 22 Nov 2011
Hello,
I have a 3d plot, for example obtained with a surf command. How can I swap or exchange the x and z axis (with the corresponding ticklabels)?
With the rotate command I can rotate the figure, but the axis remain the same...
Thanks in advance,
Ana

Accepted Answer

Jan
Jan on 22 Nov 2011
This dos not exchange the X and the Z axis, but the data:
AxesH = axes;
[x, y, z] = sphere;
H = surf(x, y, z, 'parent', AxesH);
pause(2);
xx = get(H, 'XData');
zz = get(H, 'Zdata');
set(H, 'XData', zz, 'ZData', xx);
Afterwards view() can rotate the scene.
  3 Comments
Jan
Jan on 22 Nov 2011
The property 'CData' controls the color. So you can try one of these methods:
set(H, 'CData', get(H, 'YData'))
set(H, 'CData', get(H, 'ZData'))
set(H, 'CData', get(H, 'XData'))
Perhaps you can to scale the values or define a colormap accordingly.
Ana
Ana on 22 Nov 2011
That's perfect!! Thank you very much!!
Ana

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 22 Nov 2011
Try the view() command
  1 Comment
Ana
Ana on 22 Nov 2011
I have already tried with that command but I cannot manage to get the desired result...

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!