function th=rotateticklabel(h,rot) %ROTATETICKLABEL rotates tick labels % TH=ROTATETICKLABEL(H,ROT) is the calling form where H is a handle to % the axis that contains the XTickLabels that are to be rotated. ROT is % an optional parameter that specifies the angle of rotation. The default % angle is 90. TH is a handle to the text objects created. For long % strings such as those produced by datetick, you may have to adjust the % position of the axes so the labels don't get cut off. % % Of course, GCA can be substituted for H if desired. % % TH=ROTATETICKLABEL([],[],'demo') shows a demo figure. % % Known deficiencies: if tick labels are raised to a power, the power % will be lost after rotation. % % See also datetick. % Written Oct 14, 2005 by Andy Bliss % Copyright 2005 by Andy Bliss % modified by MEC %set the default rotation if user doesn't specify if nargin==1 rot=90; end %make sure the rotation is in the range 0:360 (brute force method) while rot>360 rot=rot-360; end while rot<0 rot=rot+360; end %get current tick labels a=get(h,'XTickLabel'); %erase current tick labels from figure set(h,'XTickLabel',[]); %get tick label positions b=get(h,'XTick'); c=get(h,'Ylim'); %make new tick labels if rot<180 th=text(b,repmat(c(1)-.02*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','right','rotation',rot, 'Interpreter', 'none'); else th=text(b,repmat(c(1)-.02*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','left','rotation',rot, 'Interpreter', 'none'); end