TickLabelFormat with exponential format without precision
显示 更早的评论
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
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
2019-1-30
0 个投票
2 个评论
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
2019-1-31
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
2019-1-31
0 个投票
3 个评论
Walter Roberson
2019-1-31
编辑:Walter Roberson
2019-1-31
This is why you should set xticks and xticklabels yourself.
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
2019-1-31
Ignacio Barranco Granged
2021-5-18
0 个投票
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!
类别
在 帮助中心 和 File Exchange 中查找有关 Annotations 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!