如何在 MATLAB 中将图例条目强制为 10 的幂

Posted

技术标签:

【中文标题】如何在 MATLAB 中将图例条目强制为 10 的幂【英文标题】:How to force legend entries as power of 10 in MATLAB 【发布时间】:2017-09-07 11:54:00 【问题描述】:

这是How to change display format of legend in MATLAB的扩展。

我正在寻找一种方法来强制采用特定格式的图例条目。在下面的代码中,它们显示为

相反,我希望他们拥有 10 的力量。比如 $10^-1,10^-2$。 有没有办法做到这一点?

MWE:

sig=[0.1 0.01 0.001 0.0001 0.00001];
for j=1:length(sig)
    for x=1:10
       Cost(j,x) = 2*x+j;
    end 
plot(1:10,Cost(j,:));
end 
legend(strcat('\sigma^2_n=',num2str((sig)')));
set(h,'Interpreter','latex')

【问题讨论】:

【参考方案1】:

只需在 num2str 中添加 log10 sig 并添加基础:

sig=[0.1 0.01 0.001 0.0001 0.00001];
for j=1:length(sig)
    for x=1:10
       Cost(j,x) = 2*x+j;
    end 
    hold('on');
    plot(1:10,Cost(j,:));
end 
h=legend(strcat('$\sigma^2_n = 10^',num2str((log10(sig))'),'$'));
set(h,'Interpreter','latex','fontsize',16)
hold('off');

【讨论】:

以上是关于如何在 MATLAB 中将图例条目强制为 10 的幂的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MATLAB 中将两个图例添加到单个图中?

处理和消除 MatLab 图例中的多个条目

Matlab:更改图例中条目的顺序

MATLAB Plot - 多个数据行的图例条目 - getcolumn

Matlab 在地图上标注点

Matlab:带有乳胶解释器的长,多行,图例