How changing the loglog scale x and y axis?

조회 수: 20 (최근 30일)
Emrys
Emrys 2017년 10월 3일
댓글: Walter Roberson 2017년 10월 3일
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?

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

David J. Mack
David J. Mack 2017년 10월 3일
편집: David J. Mack 2017년 10월 3일
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

카테고리

Help CenterFile Exchange에서 Axis Labels에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by