meatball1982 发表于 2017-3-2 10:56:22

豆粑粑 matlab 坐标轴Yticklabel 中字体 负号 减号 加长

别人的一个问题,相当的麻烦,也是,太容易的话,徐已经可以搞定了。一个论文的编辑要把纵轴的'-'号变长。我倒。
于是,通过text 函数和latex重写了一次yticklabel。并通过
'--'和'---'设置负号的长度。




clear all
clc
clf

data1=;
data_x =[-3 -1 0 1 2 5];
data1=-data1;


h=figure(1)
set(h, 'Position', );

plot(data_x,data1)
% axis tight
ax=gca;
ax_p=axis;
y_mm=ax.YTick;
y_str=ax.YTickLabel;

x_mm=ax.XTick;
x_str=ax.XTickLabel;
set(ax,'yticklabel',[])
set(ax,'xticklabel',[])

hold on

xoffset = 0.1;
yoffset = 5;
mm_fs=16;

for i=1:length(x_mm)
    if x_mm(i)<0
      tm=x_str(i);
      tm2=tm{1};
      str_mm=['\textbf{--}',tm2(2:end)];
      t=text(x_mm(i),ax_p(3)- yoffset,str_mm,'Interpreter','latex','fontsize',mm_fs);
      
    else
      t=text(x_mm(i),ax_p(3)- yoffset,mat2str(x_mm(i)),'Interpreter','latex','fontsize',mm_fs);
    end
    t.HorizontalAlignment='center';
      
end

%
for i=1:length(y_mm)
    if y_mm(i)<0
      tm=y_str(i);
      tm2=tm{1};
      str_mm=['---',tm2(2:end)];
      t=text(ax_p(1) - xoffset,y_mm(i),str_mm,'Interpreter','latex','fontsize',mm_fs);
      t.HorizontalAlignment='right';
    else
      t=text(ax_p(1) - xoffset,y_mm(i),mat2str(y_mm(i)),...
            'Interpreter','latex','fontsize',mm_fs);
      t.HorizontalAlignment='right';
    end
end

t=text(-2,-30,'-10','Interpreter','latex','fontsize',mm_fs)
t.HorizontalAlignment='right';
t=text(-2,-40,'--10','Interpreter','latex','fontsize',mm_fs)
t.HorizontalAlignment='right';
t=text(-2,-50,'\textbf{--}10','Interpreter','latex','fontsize',mm_fs)
t.HorizontalAlignment='right';
t=text(-2,-60,'---10','Interpreter','latex','fontsize',mm_fs)
t.HorizontalAlignment='right';
t=text(-2,-70,'\textbf{---}10','Interpreter','latex','fontsize',mm_fs)
t.HorizontalAlignment='right';
h=gcf;
fig_na=['./fig_length_min'];
fun_work_li_035_myfig_out(h,fig_na,3)


% print 'fig_min_leng.png' '-dpng'

% plot(data1)
% t = title('hi')
% set(t, 'horizontalAlignment', 'right')
% set(t, 'units', 'normalized')
% h1 = get(t, 'position')
% set(t, 'position', )





页: [1]
查看完整版本: 豆粑粑 matlab 坐标轴Yticklabel 中字体 负号 减号 加长