Log-log plot which doen't display every values
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi everyone,
I believe some data I am playing with could be better displayed using a loglog plot. my vector:
y =
45 67
4 8
3 3
0 0
0 3
0 0
0 0
0 0
0 0
1 0
So, if I correctly plot that I should end-up with five marks on my graph right ? which is confirmed by the bar graph I get through my code:

So far my code only display three points... and I obviously need to display them all. Would you help me on that? Is it because the loglog function can't allow you don't display values equal to zero ?
my code:
none = length(one)
ntwo = length(two)
h(1:none,1)=one
h(1:ntwo,2)=two
[y,x]=hist(h)
stringTitle1 = 'test'
stringTitle2= ' comparison'
bar(x,y, 'group')
title('test title')
xlabel('test name') % x-axis label
ylabel('Frequency') % y-axis label
legend('XZ','YZ')
xLog = y(:,1)
yLog = y(:,2)
loglog(xLog,yLog,'.')
Cheers, Flo
0 commentaires
Réponses (1)
the cyclist
le 1 Juil 2016
Modifié(e) : the cyclist
le 1 Juil 2016
The basic problem is that log(0) is "equal" to negative infinity, so cannot be displayed.
2 commentaires
the cyclist
le 4 Juil 2016
A simple option is to use a log(x+1) rather than a log(x) transformation to display the data. In other words, just add 1 to your data before using loglog. There are pros and cons to this approach. Here is one place you could read a bit about the practical aspects.
Voir également
Catégories
En savoir plus sur Target Computer Setup 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!