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

21 vues (au cours des 30 derniers jours)
Francesco Porretta
Francesco Porretta le 30 Sep 2021
Commenté : Kelvin Anoh le 11 Mai 2024
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??

Réponse acceptée

dpb
dpb le 30 Sep 2021
Modifié(e) : dpb le 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 commentaire
Kelvin Anoh
Kelvin Anoh le 11 Mai 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

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by