2013-01-09 3 views
1

최소 제곱 법의 시각화를 플로팅하려고합니다. 결국 그것은 다음과 같이 보일 것입니다 : http://upload.wikimedia.org/wikipedia/commons/1/17/MDKQ1.svgGnuplot : 잔차 도표

지금 데이터 포인트가 있고 맞는 곡선 (제 경우에는 f (x)라고하는 직선)이 있습니다. 제가 누락 된 것은 잔차입니다 (링크에서 잔차는 녹색 선입니다). 의미 : 각 데이터 점에서 시작하여 선을 수직선으로 그려야합니다.

내 data.txt로이 (shortend)과 같은

1, 3 
2, 4 
3, 6 
4, 3 

내의 gnuplot 명령 은 다음과 같습니다

f(x) = a*x +b + 1e-9 
fit f(x) 'data.txt' u 1:2 via a, b 
plot 'data.txt' with points title 'data', f(x) 

난 단지 사용 충동과 잔류를 관리 지금까지와

plot 'data.txt' with points title 'data', '' using 1:($2 - f($1)) w impulse, f(x) 

하지만 y = 0부터 시작해서 아래로 올라가는 것은 적합 선 f (x)와 데이터 점 사이가 아닙니다. .

답변

2

나는 당신이 여기 errorbars 찾고있는 생각 :

plot 'data.txt' with points title 'data',\ 
     'data.txt' u ($1):(f($1)):(f($1)):2 w yerrorlines title 'residuals' 

하지만이 경우

라인 ( f(x) :

plot 'data.txt' with points title 'data',\ 
     f(x) notitle,\ 
     'data.txt' u ($1):(f($1)):(f($1)):2 w yerrorbars title 'residuals' 

또한 기본적으로 동일한을 사용할 수있는 errorlines 스타일있다)은 잔차가 그려지는 스타일과 동일한 스타일로 플롯됩니다.

+0

첫 번째 부분은 내가 찾던 바로 그 부분입니다. 감사합니다! 비슷한 문제를 가진 다른 사람들을위한 부수적 인 점 : 나는 포인트를 점진적으로 잔차와 구분할 수 있도록 ... 점을 사용하여 점의 스타일을 변경해야했다. – albifant

+0

@albifant - 처음 생각한 것은 당신이 원한 것이라고 생각했지만, 두 번째는 가까운 것처럼 보였고 다른 사람을 도울 수 있습니다. 당신은 당신이 포인트로 무엇을 바꾸고 있는지에 대해 더 명시하고 싶을지도 모릅니다. 포인트 크기 ('ps') 나 포인트 타입 ('pt')을 변경할 수 있습니다. ps 2 pt 4' – mgilson

+0

''pt'를 생략하고''와 함께 점 4 '는 암시적인'점 4 점'처럼 행동 할 것이지만 정확하게 동일하지는 않습니다. 결과 포인트 스타일은 실제로 동일하지만 색상은 다릅니다. 그래서 두 버전이 모두 작동합니다.'points pt 4 '는 더 우아합니다. – albifant