Log-log plot which doen't display every values
9 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
the cyclist
2016-7-1
编辑:the cyclist
2016-7-1
The basic problem is that log(0) is "equal" to negative infinity, so cannot be displayed.
2 个评论
the cyclist
2016-7-4
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!