How changing the loglog scale x and y axis?

4 Ansichten (letzte 30 Tage)
Emrys
Emrys am 3 Okt. 2017
Kommentiert: Walter Roberson am 3 Okt. 2017
I need to represent numbers from 0.5 to 50 (0.5 5 50) instead of 1 10 100(standard log log scale) is it possible? how can i do?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 3 Okt. 2017
x = sort( rand(1,40)*49.5 + 0.5 );
y = x.*abs(sin(x));
loglog(x,y)
xlim([0.5 50])
ylim([0.5 50])
nticks = 5;
tickpos = round( logspace(log10(0.5),log10(50), nticks) );
set(gca, 'XTick', tickpos, 'YTick', tickpos)
  2 Kommentare
Emrys
Emrys am 3 Okt. 2017
Thanks for the answer Mr Roberson, but i still have the problem, the way you suggest me doesn't change the scale, what i meant it was that i need to use decade from 0.5 to 5 and 5 to 50. It's like setting the origin in 0.5 instead of 1.
Walter Roberson
Walter Roberson am 3 Okt. 2017
tickpos = [0.5 5 50];
set(gca, 'XTick', tickpos, 'YTick', tickpos)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

David J. Mack
David J. Mack am 3 Okt. 2017
Bearbeitet: David J. Mack am 3 Okt. 2017
Have you tried to use semilogy instead of loglog, e.g.:
semilogy(x,y);
If you have to use loglog, use the 'XScale'-Property instead:
loglog(x,y);
set(gca,'XScale','linear');
In both cases you can set the x-tick & the x-axis limit, using:
set(gca, 'XTick',[0.5 5:5:50], 'XLim',[0.5 50]);
Greetings, David

Kategorien

Mehr zu Log Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by