MATLAB:轴标签上标

时间:2012-02-08 08:05:49

标签: matlab matlab-figure

MATLAB中的对数图仅标记位置10 ^ x处的轴,其中x是整数(例如,10 ^ 4,10 ^ 5,10 ^ 6)。有时,人们可能希望在中间站点或小蜱(例如,5 * 10 ^ 4,5 * 10 ^ 5)标记。

为了放置此类标签,我已使用text命令并使用适当的xy坐标。但是,text命令中的上标字体与默认轴标签中的上标字体不同。即使轴标签和文本的字体设置为相同,也是如此:

set(0,'DefaultAxesFontName','Helvetica');
set(0,'DefaultTextFontName','Helvetica');
set(0,'DefaultTextFontSize',15);
set(0,'DefaultAxesFontSize',15);

特别是,与文本框相比,默认轴标签中的上标字体大小似乎更小。有没有办法解决这种差异,以便文本框中的字体和轴标签中的字体是相同的(包括上标)?

1 个答案:

答案 0 :(得分:1)

您可以像这样设置x和y轴点:

figure
set(gca,'xtick',10.^[0.5:0.5:3])
set(gca,'ytick',10.^[0.5:0.5:3])

为您提供0.5 log 10中的步骤。还有一个名为xticklabel

的属性

编辑:这是使用任意标签的完整示例,科学记数法:

semilogx([2:100:10e4],[2:100:10e4])
axis([2 2e4 2 10000])
xticks=10.^[0.5:0.5:10]';
al={};
for i = 1:length(xticks)
       tmps=sprintf("%1.1e}",xticks(i));
       tmps=strrep(tmps,"e","x10^{");  # replace e with x10^{
       tmps=strrep(tmps,"+0","");      # +0 does not add any info
       tmps=strrep(tmps,"-0","-");     # -0123 into -123 
       tmps=strrep(tmps,"+","");       # + does not add any info
       al(i)=tmps;
end
set(gca,'xtick',xticks);
set(gca,'xticklabel',al)