MATLAB中的对数图仅标记位置10 ^ x处的轴,其中x是整数(例如,10 ^ 4,10 ^ 5,10 ^ 6)。有时,人们可能希望在中间站点或小蜱(例如,5 * 10 ^ 4,5 * 10 ^ 5)标记。
为了放置此类标签,我已使用text
命令并使用适当的x
和y
坐标。但是,text命令中的上标字体与默认轴标签中的上标字体不同。即使轴标签和文本的字体设置为相同,也是如此:
set(0,'DefaultAxesFontName','Helvetica');
set(0,'DefaultTextFontName','Helvetica');
set(0,'DefaultTextFontSize',15);
set(0,'DefaultAxesFontSize',15);
特别是,与文本框相比,默认轴标签中的上标字体大小似乎更小。有没有办法解决这种差异,以便文本框中的字体和轴标签中的字体是相同的(包括上标)?
答案 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)