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.

 Réponse acceptée

Adam Danz
Adam Danz le 29 Nov 2018
Modifié(e) : Adam Danz le 4 Déc 2020
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 commentaires

madhan ravi
madhan ravi le 29 Nov 2018
learn4fun's answer moved here for consistency
Hi Adam,
Thank you for your suggestion :)
Swati Sarangi
Swati Sarangi le 4 Déc 2020
Hi Adam ,
I am unable to implement your code in my machine. Is there any alternative to it?
Rik
Rik le 4 Déc 2020
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)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Axes Appearance dans Centre d'aide et File Exchange

Produits

Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by