在semilogx图中绘制自定义xlabel

时间:2013-09-19 09:55:23

标签: matlab plot label

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

2 个答案:

答案 0 :(得分:0)

尝试:

set(gca, 'XTickLabel', {'10^-3', '10^-2'})

答案 1 :(得分: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 - >那是-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))));