gnuplot으로 Horizontal histogram을 그립니다.

2958 단어 gnuplothistogram

개시하다


gnuplot은 도표를 그리는 데 매우 편리하지만 직사각형을 90도로 회전시키는 가로쓰기 직사각형(이하 horizontal histogram)은 실현되지 않았다고 하지만 과거 현인들이 처방을 내놓아 horizontal histogram을 시뮬레이션하여 재현할 수 있다고 한다.
자세한 해설이 없다는 점을 알아봤기 때문에, 누구나 이용할 수 있다는 점을 최대한 통속적으로 해설한다.

일반 히스토그램


우선 일반적인 직사각형을 만들어 보자. 아래의 줄거리에 사용된 데이터.dat는 1열은 $x$축이고 2열은 $y$축의 값이 각각 저장되어 있음을 나타낸다.
unset key
set xlabel "x"
set ylabel "y"
set xrange [0.0:2.0]
set yrange [0.0:0.1]

BIN = 0.05 # bin widthの指定(任意)
set style fill solid border linecolor rgb "black"
plot "data.dat" using 1:2 bins binwidth = BIN with boxes linecolor rgb "grey" 
이 동작을 실행하면 다음 직사각형을 생성할 수 있습니다.

Horizontal histogram


다음 참고 문헌에 따르면gnuplot에서 가로로 쓴 직사각형도(적어도 ver5.4.0까지)는 실현되지 않았다.(참고: Horizontal histogram in gnuplot,【gnuplot】 산포도 + 직사각형 통합도로 만든 명령집
따라서 고육계로 오류 표시줄boxxyerrorbars을 box로 표시하는 옵션으로 대체할 수 있다.
gnuplot의 official documentationOfficial gnuplot online documentation, Version 5.4(일본어), P83)를 보면 도점에 $x, y달러 두 개의 오류 표시줄을 붙일 때xyerrorbars로 다음과 같이 기술한다.
plot "---.dat" using x:y:delta_x:delta_y with xyerrorbars
드로잉 결과는 다음 그림과 같습니다.

xyerrorbars의 확장판boxxyerrorbars에서 오른쪽 그림에서 보듯이 오류 범위를 박스 모양으로 그릴 수 있다. 따라서 이 상자형 오류 줄이 서로 중첩되지 않도록 오류 줄을 연결하여 직사각형으로 보일 수 있도록 하는 것이 이번 발명의 수법이다.
상기boxxyerrorbars가 직사각형에 적용되는 것을 감안하여 horizontal histogram을 제작할 때 각각 $x, y,\Deltax,\Deltay 달러를 다음과 같이 설정할 수 있다.
$x$
$y$
$\Delta x$
$\Delta y$
bin 높이의 반값
가로축($x$축)의 값
bin 높이의 절반 $(=x) $
bin 너비의 반값
이 동작을 실행하는 명령은 다음과 같습니다: 그래프 자체가 회전하지 않았습니다. label과range는 이전과 상반됩니다.
unset key
set xlabel "y" # <-- x,y軸逆転
set ylabel "x"
set xrange [0.0:0.1] # <-- x,y軸逆転
set yrange [0.0:2.0]

BIN = 0.05 # bin widthの指定(任意)
set style fill solid border linecolor rgb "black"
plot "data.dat" using ($2*0.5):1:($2*0.5):(BIN*0.5) linecolor rgb "grey" with boxxyerrorbars
그리고 다음 그림을 출력합니다. 도표의 너비(rltb)margin screen를 적절하게 조정했습니다.

좋은 웹페이지 즐겨찾기