我有一个文件,其电线长度在300-1000之间。如何使用GNUPLOT制作直方图,其长度为X轴(间隔为100),导线数为Y轴?
例如:
250 wire_0
350 wire_1
360 wire_2
800 wire_3
我想要一个高度为1的线表示wire_0,一个高度为2的线表示wire_1和wire_2,以及一个高度为1的线表示wire_3。
答案 0 :(得分:1)
编辑#1
binwidth = 100
bin(x, width) = width*floor(x/width)
set tics out nomirror
set style fill transparent solid 0.5 border lt -1
set xrange [0:1000]
set xtics binwidth
set boxwidth binwidth
set yrange [0:3]
$data <<EOD
250 wire_0
350 wire_1
360 wire_2
800 wire_3
EOD
plot $data u (bin($1,binwidth)):(1.0) smooth freq with boxes notitle
结果
编辑#2
如果需要框上方的值,可以使用。
set table $data2
plot $data u (bin($1,binwidth)):(1.0) smooth freq with boxes;
unset table
plot $data2 u 1:2 w boxes notitle , "" u 1:2:2 w labels offset 0,1 notitle