managing surface plot axis

5 次查看(过去 30 天)
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.

采纳的回答

Cris LaPierre
Cris LaPierre 2020-12-10
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 个评论
Math Passion
Math Passion 2020-12-11
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 2021-1-11
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;

请先登录,再进行评论。

更多回答(1 个)

Math Passion
Math Passion 2021-1-12
That works perfectly!
Thanks alot!

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by