首页 文章

MATLAB:轴标签上标

提问于
浏览
0

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 回答

  • 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)
    

相关问题