Put axis label in their respective middle (3D plot)

53 views (last 30 days)
I'm trying to put the axis label in a 3D plot in the middle of the axis, without rotate them.
As example, consider this figure
obtained using this code:
colormap(hsv);
s = 0:0.025:3;
t = s;
[x,y] = meshgrid(s,t);
z = x.^2 - y.^2;
mesh(x,y,z);
xlabel('time[sec]')
ylabel('position[mm]')
zlabel('force[N]')
What I want to obtained is something as shown in figure below (look x and y labels).
Is it possible??

Accepted Answer

dpb
dpb on 30 Sep 2021
Edited: dpb on 30 Sep 2021
...
mesh(x,y,z);
hXL=xlabel('time[sec]'); % default label, save handle
hXL.Position=hXL.Position+[0.5 0 0]; % adjust default position
comes reasonably close -- salt to suit and follow the same idea for y.
  1 Comment
Kelvin Anoh
Kelvin Anoh on 11 May 2024
You may also wish to rotate the text following @dpb's example:
hXL.Rotation = 15; % where 15 is the angle of rotation in degrees

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!