set_xtick_label.m

来自「Matlab工具包补充算发」· M 代码 · 共 52 行

M
52
字号
function set_xtick_label(tick_labels, angle, axis_label)% SET_XTICK_LABEL Print the xtick labels at an angle instead of horizontally% set_xtick_label(tick_labels, angle, axis_label)%% angle default = 90% axis_label default = ''%% This is derived from Solution Number: 5375 on mathworks.com% See set_xtick_label_demo for an exampleif nargin < 2, angle = 90; endif nargin < 3, axis_label = []; end% Reduce the size of the axis so that all the labels fit in the figure.pos = get(gca,'Position');%set(gca,'Position',[pos(1), .2, pos(3) .65])%set(gca,'Position',[pos(1), 0, pos(3) .45])%set(gca,'Position',[pos(1), 0.1, pos(3) 0.5])ax = axis;    % Current axis limitsaxis(axis);    % Fix the axis limitsYl = ax(3:4);  % Y-axis limits%set(gca, 'xtick', 1:length(tick_labels));set(gca, 'xtick', 0.7:1:length(tick_labels));Xt = get(gca, 'xtick');% Place the text labelst = text(Xt,Yl(1)*ones(1,length(Xt)),tick_labels);set(t,'HorizontalAlignment','right','VerticalAlignment','top', 'Rotation', angle);% Remove the default labelsset(gca,'XTickLabel','')% Get the Extent of each text object.  This% loop is unavoidable.for i = 1:length(t)  ext(i,:) = get(t(i),'Extent');end% Determine the lowest point.  The X-label will be% placed so that the top is aligned with this point.LowYPoint = min(ext(:,2));% Place the axis label at this pointif ~isempty(axis_label)  Xl = get(gca, 'Xlim');  XMidPoint = Xl(1)+abs(diff(Xl))/2;  tl = text(XMidPoint,LowYPoint, axis_label, 'VerticalAlignment','top', ...	    'HorizontalAlignment','center');end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?