How changing the loglog scale x and y axis?

6 vues (au cours des 30 derniers jours)
Emrys
Emrys le 3 Oct 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?

Réponse acceptée

Walter Roberson
Walter Roberson le 3 Oct 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 commentaires
Emrys
Emrys le 3 Oct 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 le 3 Oct 2017
tickpos = [0.5 5 50];
set(gca, 'XTick', tickpos, 'YTick', tickpos)

Connectez-vous pour commenter.

Plus de réponses (1)

David J. Mack
David J. Mack le 3 Oct 2017
Modifié(e) : David J. Mack le 3 Oct 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

Catégories

En savoir plus sur Log Plots dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by