correct plot3d axis label
조회 수: 27 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Sean de Wolski
2012년 12월 3일
편집: Sean de Wolski
2012년 12월 3일
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
Sean de Wolski
2012년 12월 3일
Save the bottom part as rotate_labels.m. Copy the rest into an editor and run it.
참고 항목
카테고리
Help Center 및 File Exchange에서 Axis Labels에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!