correct plot3d axis label

33 views (last 30 days)
joo
joo on 3 Dec 2012
how can i out the label of the axis x and y parallell to the axis like the label of the z axis?
thank you very much

Answers (1)

Sean de Wolski
Sean de Wolski on 3 Dec 2012
Edited: Sean de Wolski on 3 Dec 2012
This comes from one of our KCS documents which will be published externally within the next 24hrs.
surf(peaks);
xlabel('X Label'); ylabel('Y Label'); zlabel('Z label');
%Call this to rotate the labels
rotate_labels(gca);
%Optional Step. Cause labels to chage as figure is rotated
call_when_rotates = @(~,~,hax)(rotate_labels(hax));
hrot = rotate3d;
set(hrot,'ActionPreCallBack',...
@(hfig,event_data)(set(hfig,'WindowButtonMotionFcn',{call_when_rotates event_data.Axes})));
set(hrot,'ActionPostCallBack',...
@(hfig,~)(set(hfig,'WindowButtonMotionFcn','')));
The rotate_labels function is:
function rotate_labels(hax)
M = view(hax);
R = M(1:3,1:3);
x = R*[1;0;0];
y = R*[0;1;0];
z = R*[0;0;1];
set(get(hax,'XLabel'),'rotation',360/(2*pi)*atan(x(2)/x(1)))
set(get(hax,'YLabel'),'rotation',360/(2*pi)*atan(y(2)/y(1)))
  3 Comments
Sean de Wolski
Sean de Wolski on 3 Dec 2012
Save the bottom part as rotate_labels.m. Copy the rest into an editor and run it.
joo
joo on 3 Dec 2012
it changed my plot inside and the label is still not correct. can you tell me what the problem can be please? thank you so much
subplot(224)
plot3([newxa(end) newxa], [newza(end) newza], [newya(end) newya],'k','LineWidth', 3);
xlabel('Ankle X Trajectory (mm)', 'FontSize',10, 'FontName','NewsGotT', 'fontWeight','bold');
ylabel('Ankle Z Trajectory (mm)', 'FontSize',10, 'FontName','NewsGotT', 'fontWeight','bold');
zlabel('Ankle Y Trajectory (mm)', 'FontSize',10,'FontName','NewsGotT', 'fontWeight','bold');
set(gca,'FontSize',10, 'FontName','NewsGotT');
grid on;
surf(peaks);
xlabel('xlabel'); ylabel('ylabel'); zlabel('zlabel');
%Call this to rotate the labels
rotate_labels(gca);
%Optional Step. Cause labels to chage as figure is rotated
call_when_rotates = @(~,~,hax)(rotate_labels(hax));
hrot = rotate3d;
set(hrot,'ActionPreCallBack',...
@(hfig,event_data)(set(hfig,'WindowButtonMotionFcn',{call_when_rotates event_data.Axes})));
set(hrot,'ActionPostCallBack',...
@(hfig,~)(set(hfig,'WindowButtonMotionFcn','')));

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!