2

我需要在 Matlab 中的 semilogx 图中绘制一个自定义 xlabel。我必须将 xtick 显示为:-10^3 或 -10^2 等,而不是 -0.001 或 -0.01。我怎样才能做到这一点?谢谢。

4

2 回答 2

0

尝试:

set(gca, 'XTickLabel', {'10^-3', '10^-2'})
于 2013-09-19T10:00:11.027 回答
0

文档(http://www.mathworks.com/support/solutions/en/data/1-16KCT/)推荐这种方法:

set(gca,'XTick',x) 
set(gca,'XTickLabel',sprintf('%3.4f|',x))

所以你的问题变成了我们如何转换 0.001 -> 3 和 0.01 -> 2。-log10(x)

set(gca,'XTick',x) 
set(gca,'XTickLabel',sprintf('-10^%i|', -log10(abs(x))))

处理标志稍微复杂一些。

这是我的尝试:

set(gca,'XTick',x);
s = '-';
signs = s(ones(size(x)));
signs(x>=0) = ' ';
set(gca,'XTickLabel',sprintf('%c10^%i|', signs, -log10(abs(x))));
于 2013-09-19T10:33:04.250 回答