TickLabelFormat with exponential format without precision

5 ビュー (過去 30 日間)
syrup
syrup 2019 年 1 月 30 日
回答済み: Ignacio Barranco Granged 2021 年 5 月 18 日
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
Ignacio Barranco Granged 2021 年 5 月 18 日
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 Center および File ExchangeAnnotations についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by