TickLabelFormat with exponential format without precision

7 ビュー (過去 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 ExchangeGrid Lines, Tick Values, and Labels についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by