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