correct plot3d axis label
    8 views (last 30 days)
  
       Show older comments
    
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
0 Comments
Answers (1)
  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
      
      
 on 3 Dec 2012
				Save the bottom part as rotate_labels.m. Copy the rest into an editor and run it.
See Also
Categories
				Find more on Axis Labels in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
