Log-log plot which doen't display every values

조회 수: 3 (최근 30일)
Flo
Flo 2016년 7월 1일
댓글: the cyclist 2016년 7월 4일
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

답변 (1개)

the cyclist
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
Flo
Flo 2016년 7월 4일
편집: Flo 2016년 7월 4일
Alright, I see. it makes more sense. Would you suggest a way of better displaying a result like that :
Thank you for your help.
Flo
the cyclist
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 CenterFile Exchange에서 Target Computer Setup에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by