TickLabelFormat with exponential format without precision

7 次查看(过去 30 天)
I would like to make a plot with x-y axes in exponential format with 0 precition, i.e., 10^{n}. If I used
ax.XAxis.TickLabelFormat='%0.0e",
matlab gives me a figure in a style of 1x10^{n}. I would like to remove "1x". If I use
ax.XAxis.TickLabelFormat='%g",
matlab sometimes gives me the format of "10^{n}" but sometimes it becomes like "0.00001".
How can I fix this format in "10^{n}"?

回答(5 个)

Walter Roberson
Walter Roberson 2019-1-30
ax.XAxis.Exponent = 0;
A value of 0 is default when there is not much data, but when you specifically set the value of 0 then ax.XAxis.ExponentMode becomes 'manual' so it would know not to override the setting.

syrup
syrup 2019-1-30
Thanks for your answer. But this was not what I inteded. My figure is log plot and the current xticklabel is
{1x10^{-2} 1x10^{-1} 1x10^{0} 1x10^{1} }
Iwould like to change this into
{10^{-2} 10^{-1} 10^{0} 10^{1} }
  2 个评论
Walter Roberson
Walter Roberson 2019-1-30
Ah. In that case you will need to set xticks yourself, and you will need to set xtickslabels yourself. You cannot use TickLabelFormat for this purpose.
syrup
syrup 2019-1-31
Thanks for your comments. I will make xticklabels manually.

请先登录,再进行评论。


Luna
Luna 2019-1-30
编辑:Luna 2019-1-30
just use logaritmic axis with semilogx:
i = 1:10;
x = 10.^i;
y = rand(1,numel(x));
figure;
hPlot = semilogx(x,y);
Here is the link: semilogx

syrup
syrup 2019-1-31
Thank you for your comments. Unfortunarly, even if I use "semilogx", the xtick sometimes becomes 0.01.
  3 个评论
Luna
Luna 2019-1-31
Maybe latex interpreter looks better if you want. It does not give 10^2 but shows .
set(gca,'TickLabelInterpreter', 'LaTeX');
syrup
syrup 2019-1-31
Thanks. But this does not change the precision of xtick label again. Anyway, I will change the xtick format manually.

请先登录,再进行评论。


Ignacio Barranco Granged
I have a similar issue. I have various subplots, I use the same code to generate all of them (specifying the ticks), but I do not know why in the first one the axis is shown as 1x10^ while on the rest of subplots is only 10^.
Have you managed to find a solution?
Thanks!

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by