감동, 마음이 움직이는 것
[gnuplot] histogram data file에서 바로 binning해서그리기 + 결과 저장하기 본문
[gnuplot] histogram data file에서 바로 binning해서그리기 + 결과 저장하기
Struggler J. 2017. 1. 4. 19:25http://stackoverflow.com/questions/2471884/histogram-using-gnuplot
[1] histogram 데이터에서 바로 그리기
참고 http://stackoverflow.com/questions/2471884/histogram-using-gnuplot
min=0. //min value
max=230. //max value
n=23 //# of bins
width = (max-min)/n //bin width
set boxwidth width
bin(x) = width*(floor(x-min)/width)+0.5) + min //position of point
set xr[min:max+width]
p 'test.txt' u (bin($1)):(1.0) smooth freq w boxes fill pattern 6
(bin($1)):(1.0) 이 부분에서 binning해주고 싶은 데이터의 컬럼 넘버를 $뒤에 써주면 됩니다.
뒤의 1데이터 파일중에 해당빈에 해당하는 데이터를 1로 카운트하겠다는 건데요.
만약에 노말라이즈를 해주고 싶으면 전체 데이터 포인트 수로 나눠주면 됩니다.
예를 들어 (bin($1)):(1.0/N) 이렇게요.
만약에 해당 포인포인트 하나가 1로 취급되는 게 아니라 weight가 있다. 그리고 그 weight가 데이터의 컬럼에 있다.
그러면 (bin($1)):($2) 이렇게 :뒤에 weight를 추가해주세요.
즉 : 뒤에 오는 weight가 곱해져서 binning이 되는거랍니다.
[2] binning결과 데이터로 저장하기
set table "a.d"
p 'test.txt' u (bin($1)):(1.0) smooth freq w boxes fill pattern 6
unset table
'Tips (Utility, Computer Language, and etc.)' 카테고리의 다른 글
[TikZ] 개념적인 그림그리는 software (0) | 2017.01.05 |
---|---|
[gnuplot] 특정 파라메터 값만 출력하고 싶을 떄 (0) | 2017.01.04 |
[gnuplot] add value labels to the top of bars in a bar chart (0) | 2017.01.04 |
[gnuplot] change background color (0) | 2017.01.04 |
[linux] command에서 for loop 사용하기 (if else문도 함께 사용) (2) | 2017.01.03 |