logarithmic axis when using area plots?!
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I have plot containing two area plots:
area(x1,y1);
hold on
area(x2,y2,'FaceColor','red');
axis auto;
Now I'd like to make the x-axis logarithmic via:
set (gca, 'Xscale', 'log')
This creates logarithmic x-axes, however it deletes the color of the first area plot (leaving just a line plot) and messes up the range. Any suggestions on how to create a semilog area plot with two areas?
Thanks Arnold!
PS: Sorry that the Text Markup doesn't seem to work here either (or only in my view?!)
2 commentaires
the cyclist
le 28 Avr 2013
Can you create a small example that exhibits the problem? I'm guessing your original plots goes through zero, which may cause the logarithmic axes problems.
Réponse acceptée
Ingo Schalk-Schupp
le 4 Sep 2013
The problem is that your x data contains a value of zero, the logarithm of which is undefined. There is no zero on a logarithmic axis. To avoid this, simply start your area, for instance, at an x value of 1 instead of 0:
x1 = 1:1:d;
If you additionally want a logarithmic y axis, the same problem arises because by default, the painted area face goes down to zero. However, you can specify a different BaseValue like this:
area(x2, y2, 'FaceColor', 'red', 'BaseValue', 1e0)
Cheers
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Graphics Object Properties dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!