2014-11-25 2 views
0

아래의 데이터 샘플에 주어진 가속도계 데이터를 시각화해야합니다. 문제는 플로팅하는 것입니다. 나는 X 축에 시간을 그리고 Y 축에 데이터를 플롯하려고한다. 나는 set logscale y을 사용하고 싶어하지만, 나에게 다음과 같은 오류를 제공 I (0) 정의되지 않은, 그래서 어떻게 내가 그들을 플롯 만 직통 전화를하지 말았어야 로그인 알고가속도계 데이터에 대한 gnuplot logscale

all points y value undefined! 

?

데이터 샘플 : 그것은 단지 하나의 음의 값을 가지고로

0|22:47:34:217|-0.0047238474|0.0045838584|0.98415303 
1|22:47:34:262|-0.00637105|0.010124308|0.98600864 
2|22:47:34:312|-0.009391699|0.003311515|0.9806735 
3|22:47:34:413|-0.008783525|-0.0034095072|0.9833411 
4|22:47:34:462|-0.0053864615|0.0046849614|0.97668225 
5|22:47:34:514|-0.009480359|0.0068983412|0.97258836 
6|22:47:34:614|-0.010723149|0.0060241884|0.9775938 
7|22:47:34:665|-0.013596032|0.0063897152|0.9779593 
8|22:47:34:715|-0.013596032|0.006778573|0.9858702 
9|22:47:34:815|-0.012471455|0.0017731927|0.98302996 
+1

시간대에 따라 표시 할 열을 알려주시겠습니까? 분명히 당신은 로그 스케일을 사용하여 마지막 것을 플롯 할 수 있습니다. 왜냐하면 다른 것들은 음수 값을 가지고 있기 때문입니다. – Miguel

+0

모두 :/ 그럼 다른 사람들을 어떻게 그려야합니까? 어떤 아이디어? – Mirko

+0

데이터를 시각화해야하는 방법을 알고 있어야합니다. 당신의 분야에서 다른 사람들은 무엇을합니까? – Christoph

답변

0

당신은 또한 마지막 전에 하나를 플롯 할 수 있습니다.

그러나 로그 배율로 값 < = 0을 플롯 할 수 없습니다. 따라서, 절대 값을 플롯 할 수는 있지만, 부호 정보를 잃어 버리게됩니다. 또는 당신은 긍정적 (절대 값) 같은 플롯 내에서 서로 다른 곡선으로 음의 값을 음모를 꾸미고, 이런 식으로 분할 할 수 있습니다 :

plot "data" using 2:($4>0?$4:NaN) title "positive",\ 
    "data" using 2:($4<0?-$4:NaN) title "negative" 

하는 A 로그 스케일을 사용하지 않는 것입니다 대체하지만, 처리 할 수 ​​비슷한 음수 값. 예 : 입방 루트는 또한 작은 값인 을 강조하며 음수 값의 경우으로 정의 할 수 있습니다. GNUPLOT 당신을 위해 할 수 없어, 그래서 당신은 선형 스케일에 자신이 소유 플롯의 변환을 할 필요가 :

cbrt(x) = sgn(x) * abs(x)**(1.0/3.0) 
plot "data" using 2:(cbrt($4)) 

불행하게도, 축이 이제 더 이상 실제 값을 표시하지 않습니다. 올바른 위치에 자신의 눈금 표시를 두는 것과 같은 수식이 있거나 수식을 통해 왼쪽 및 오른쪽 축을 연결하는 (버전 5부터 시작한다고 생각합니다).

그러나 열 2와 열 3의 작은 값은 이제 (-) 0.2 범위에 있고 열 4는 약 1로 유지됩니다. 더 높은 증폭은 더 높은 정도의 홀수 루트에 의해 달성 될 수 있습니다.

+0

나는 양수 값으로 매핑되는 임의의 비선형 스케일링을 사용하는 것이 좋은 생각이 아니라고 생각합니다. – Christoph