Remove exponent from plot axis label

55 visualizzazioni (ultimi 30 giorni)
Jay Griffiths
Jay Griffiths il 21 Giu 2023
Modificato: Angelo Yeo il 22 Giu 2023
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 Commenti
Adam Danz
Adam Danz il 22 Giu 2023
From the documentation: If the axis has a log scale, then the Exponent property has no effect.
Paul
Paul il 22 Giu 2023
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?

Accedi per commentare.

Risposte (1)

Angelo Yeo
Angelo Yeo il 22 Giu 2023
yticklabels(string(yticks))
  3 Commenti
Jay Griffiths
Jay Griffiths il 22 Giu 2023
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.
Angelo Yeo
Angelo Yeo il 22 Giu 2023
Modificato: Angelo Yeo il 22 Giu 2023
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)

Accedi per commentare.

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by