Swap axis in 3d figure

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

Ana
Ana on 22 Nov 2011
That is exactly what I needed! Thank you very much!
The only thing I would may like to change is the axe which the color is referenced to. Is there any easy way to do this?
Thank you again!
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

0 votes

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.

Asked:

Ana
on 22 Nov 2011

Community Treasure Hunt

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

Start Hunting!