Hi all,
I am interested in ploting the following y-axis (from 10^-16 to 10^-11) in Matlab:
Sample_plot.PNG
I use the following codes, but I did not get the nicely spaced y-axis as above. What changes should I amend to the codes to get the above y-axis for my y-data?
figure
plot(x,y,'o','r')
ylim([10^-17 10^-10])
yticks([10^-16 10^-15 10^-14 10^-13 10^-12 10^-11])
Thank you for your suggestions.

 채택된 답변

Adam Danz
Adam Danz 2018년 11월 29일
편집: Adam Danz 2020년 12월 4일

0 개 추천

You need to make the yscale log.
figure;
h = axes;
h.YScale = 'log'; % <------- or set(h, 'YScale', 'log')
ylim([10^-17 10^-10])
yticks([10^-16 10^-15 10^-14 10^-13 10^-12 10^-11]) % (not needed)

댓글 수: 4

madhan ravi
madhan ravi 2018년 11월 29일
learn4fun's answer moved here for consistency
Hi Adam,
Thank you for your suggestion :)
Swati Sarangi
Swati Sarangi 2020년 12월 4일
Hi Adam ,
I am unable to implement your code in my machine. Is there any alternative to it?
Rik
Rik 2020년 12월 4일
Why are you unable to implement this? What release are you using?
Another way to get a linear X axis and a logarithmic Y axis is to use semilogy.
x = 1:6;
y = 10.^-(10+x);
semilogy(x, y)

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Axes Appearance에 대해 자세히 알아보기

제품

릴리스

R2018a

질문:

2018년 11월 29일

댓글:

2020년 12월 4일

Community Treasure Hunt

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

Start Hunting!

Translated by