Axis in scientific form - have tried to stop it....
30 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Tom
am 28 Jan. 2012
Kommentiert: Walter Roberson
am 22 Feb. 2021
axis in scientific form - have tried to stop it….
I have a plot with a logarithmic scale on the x-axis and I want it to say the numbers like 1,10,100,1000 etc. and not 10^0, 10^1, 10^2 etc. It'd be great if someone could help me do that.
I've given it about 20 minutes just now and I gave it 20 minutes yesterday too and I still can't get it to work. I've left my attempt on the bottom anyway.
close all
clear all
m = 0.05;
k = 1000;
R = 1;
f = linspace(0,19999,20000);
Xm = m.*(2*pi.*f) - k./(2*pi.*f);
createfigurelog(f,Xm);
%set(gca,'XTick', [0,1,10,100,1000,10000]); %set(gca,'XTickLabel',sprintf('%3.4f|',f))
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 28 Jan. 2012
curtick = get(gca, 'XTick');
set(gca, 'XTickLabel', cellstr(num2str(curtick(:))));
The scientific notation is not used if the tick labels are set.
Also note the "trick" of passing a column vector to num2str.
6 Kommentare
Eric
am 22 Feb. 2021
Bearbeitet: Eric
am 22 Feb. 2021
I may be making a rookie mistake, but this approach doesn't seem to work for loglog( ) in R2018b.
The command (ax.XRuler.Exponent = 0) executes without an error, with ax set to gca, but the axis properties don't change.
The other method with
get (gca, 'XTick')
etc. does still work with loglog( ) in R2018b.
Walter Roberson
am 22 Feb. 2021
The Exponent is intended to deal with the situation in which the end of the ruler has an exponent written in, such as
x = linspace(0,5,1000);
y = 100*exp(x).*sin(20*x);
ax = gca;
plot(ax, x, y)
ax.XRuler.TickLabel
ax.XRuler.TickLabelFormat
However, when you use loglog() then those end-of-ruler exponents are not written in.
loglog(ax, x, y)
ax.XRuler.TickLabel
ax.XRuler.TickLabelFormat
The only XRuler properties I look at that appears to control this automatic writing-in of formatted ticks is Scale
loglog(ax, x, y)
ax.XRuler.Scale = 'linear';
ax.XRuler.TickLabel
My initial guess was that TickLabelFormat would control it, but it does not -- and I realized that there is no % format specifier for raised exponent so TickLabelFormat could not control it.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Performance finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!