Remove exponent from plot axis label

Hi, all.
I'm trying to remove the scientific format from my Y-axis label for my plot in MATLAB R2020a shown below.
I've tried everything I can find but, for the life of me, I cannot seem to get the Y-axis labels to display 10, 100, etc. instead of 10^1, 10^2, etc.
My plot code is as follows:
figure; semilogy(Pos, TC1, Pos, TC2, Pos, TC4, Pos, TC16)
legend('1C', '2C', '4C', '16C')
xlabel('Air Sample Position')
ylabel('Temperature (^{o}C)')
title('Temperature vs Position')
grid on
ax = gca;
ax.YAxis.TickLabelFormat = '%.0f';
ax.YAxis.Scale = 'log';
ax.YAxis.ExponentMode = 'manual';
ax.YAxis.Exponent = 0;
ax.YAxis.MinorTick = 'on';
Can anyone assist, please?

2 个评论

From the documentation: If the axis has a log scale, then the Exponent property has no effect.
But the doc doesn't say anything about ignoring TickLabelFormat for a log scale, I don't believe, which is the property that I think the Question is really about. For a semilogy plot, the Y-TickLabelFormat is %g, even though that's not the format actually used for display
semilogy(1:100,1:100),grid,ax = gca;
ax.XAxis.TickLabelFormat
ans = '%g'
ax.YAxis.TickLabelFormat % YTickLabels display should be similar/same to XTickLabels?
ans = '%g'
I poked around trying to find something that overrides the %g format for the YAxis, but couldn't find it. Maybe just a gap in the doc?

请先登录,再进行评论。

回答(1 个)

yticklabels(string(yticks))

3 个评论

Another alternative:
ax = gca();
ax.YTickLabel = ax.YTick;
In this case, MATLAB does the string conversion.
Thank you. I tried both of these approaches but it seems to just label every tick with '100', even when I change the tick values to [1 10 100].
Using a log scale, is it simply not possible? I was able to achieve the desired plot in Excel but I prefer the aesthetic of MATLAB plots.
I don't understand why you run into such an issue. Please see the code below.
Pos = 1:7;
TC1 = [20, 200, 350, 500, 350, 200, 20];
figure; semilogy(Pos, TC1)
legend('1C')
xlabel('Air Sample Position')
ylabel('Temperature (^{o}C)')
title('Temperature vs Position')
grid on
yticklabels(yticks)

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Axis Labels 的更多信息

产品

版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by