📄 fix_ytick.m
字号:
function [ytick_m, YTickLabel1, ytick_good, ytick_new, yticklabel_new]=fix_YTick(fmtz)
% fmtz means force mean to zero
YTickLabel1=get(gca, 'YTickLabel');
ytick_m=get(gca, 'YTick');
ylim1=get(gca, 'ylim');
max_yl=max(ylim1);
min_yl=min(ylim1);
ytick_ix_low=find(ytick_m < -0.25*(max_yl-min_yl)+max_yl );
ytick_ix_high=find(ytick_m > 0.25*(max_yl-min_yl)+min_yl );
ytick_good=intersect(ytick_ix_low, ytick_ix_high);
ytick_new=ytick_m(ytick_good);
for e1=1:length(ytick_good);
if iscell(YTickLabel1(ytick_good(e1), :))
yticklabel_new{e1}=YTickLabel1{ytick_good(e1), :};
else
yticklabel_new{e1}=YTickLabel1(ytick_good(e1), :);
end
end
if length(ytick_good) < 3 || fmtz
if fmtz == 1
buf=max(abs([max_yl, min_yl]));
max_yl=buf;
min_yl=-buf;
end
max11=max_yl-0.25*(max_yl-min_yl);
min11=min_yl+0.25*(max_yl-min_yl);
dif=max11-min11;
nd3=floor(log10(abs(dif)));
nd33=log10(abs(dif));
if nd3+0.302 >= nd33
nd4=-nd3+1;
else
nd4=-nd3;
end
max1=sign(max11)*10^(-nd4)*floor(10^(nd4)*max11);
min1=10^(-nd4)*ceil(10^(nd4)*min11);
mean1=0.5*(max1+min1);
ytick_new=[min1 mean1 max1];
yticklabel_new={};
for e1=1:3;
yticklabel_new{e1}=num2str(ytick_new(e1));
end
end
set(gca, 'YTick', ytick_new, 'YTickLabel', yticklabel_new );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -