managing surface plot axis

5 views (last 30 days)
Math Passion
Math Passion on 10 Dec 2020
Answered: Math Passion on 12 Jan 2021
I wonder if it is possible to plot a surface in matlab while changing the x, y and z axis.
I don't want to have my z value upwards. I want to have it in x direction instead.
The problem here is the colorbar which is based on the z value. Even if I change the order of my data points, matlab always consider the z value for the colorbar.
Thank you very much in advance.

Accepted Answer

Cris LaPierre
Cris LaPierre on 10 Dec 2020
Have you tried using your X data as the surface color input C? Adapting this doc example.
[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
surf(X,Y,Z,X)
xlabel("X")
ylabel("Y")
zlabel("Z")
colorbar
  9 Comments
Math Passion
Math Passion on 11 Dec 2020
Thank you very much anyway. I hope I find a solution. This is very annoying as the problem will be easily solved just by changing the axis.
Cris LaPierre
Cris LaPierre on 11 Jan 2021
A coworker pointed out to me that perhaps adjusting the camera properties might create the view you want.
[X,Y] = meshgrid(-5:0.25:5);
Z = X.^2 + Y.^2;
contour3(X,Y,Z,50);
ax = gca;
camup([1 0 0]); % or set the CameraUpVector property of axes
ax.CameraPosition = [30 -70 -140];
ax.CameraViewAngle = 10;

Sign in to comment.

More Answers (1)

Math Passion
Math Passion on 12 Jan 2021
That works perfectly!
Thanks alot!

Community Treasure Hunt

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

Start Hunting!