如何从数据文件gnuplot中的行绘制直方图
t、 dat文件如下所示:如何从数据文件gnuplot中的行绘制直方图,gnuplot,histogram,Gnuplot,Histogram,t、 dat文件如下所示: 260.37 260.04 261.53 261.32 260.19 260.49 260.43 260.59 260.26 260.68 260.28
260.37
260.04
261.53
261.32
260.19
260.49
260.43
260.59
260.26
260.68
260.28
259.93
260.82
259.50
260.29
260.52
260.30
259.91
262.24
260.58
260.74
260.22
261.66
260.31
260.99
259.79
260.90
259.88
260.19
261.50
259.32
260.79
259.94
260.35
260.03
260.07
261.86
261.09
260.60
260.15
75.17
75.16
75.33
75.31
75.34
75.04
75.49
75.25
75.27
75.32
75.10
75.75
75.58
74.86
75.19
75.44
75.29
75.31
75.55
75.91
75.39
75.65
75.85
75.67
75.62
74.87
75.64
75.69
75.13
77.76
75.31
74.87
75.75
75.27
75.61
74.84
75.72
75.40
74.96
75.33
67.20
67.26
68.15
68.67
68.88
67.56
67.71
66.87
68.74
67.32
66.92
69.62
67.29
66.87
68.33
67.73
68.66
68.75
67.00
67.22
66.93
68.81
67.29
67.18
67.33
67.91
70.34
67.15
68.37
69.60
69.74
69.62
67.33
66.79
67.90
67.39
69.88
68.48
68.96
67.36
47.82
47.54
47.74
47.95
47.65
47.71
47.64
47.71
47.47
48.19
47.82
48.06
47.88
48.22
48.31
47.58
47.41
47.85
47.71
47.93
48.34
47.95
48.70
47.58
47.86
47.96
47.80
48.00
47.51
47.56
47.50
47.52
47.47
47.76
47.53
48.27
47.26
47.79
47.67
47.57
目标是打印4个系列的直方图,每个直方图用空格隔开,每组40行。因此直方图组1绘制第1:40行的数据,第二组绘制第41:80行的数据,依此类推。
到目前为止,我已经成功地分别打印了第一组直方图:
set boxwidth 0.9 relative
set style data histograms
set style fill solid 1.0 border -1
set xtics ("1" 20, "4" 60, "8" 100, "16" 140)
plot 't.dat' using 1 with boxes ls 6 axes x1y1
并打印连接的四个组:
plot 't.dat' using 1 every ::0::39 with boxes ls 6 axes x1y1
如何在同一绘图中绘制其他组?请注意,
设置样式数据直方图
被忽略,因为您使用框覆盖它,框
和直方图
是从分组和排列数据的角度绘制条形图的不同方法
如果可以使用
plot "t.dat" using 0:1 every ::0::39 with boxes
然后,您可以使用
plot "t.dat" using 0:1 every ::40::79 with boxes
(使用1
,就像您使用的一样,被gnuplot隐式转换为使用0:1
)。
这两个图将重叠,因为第0列(即当前行的编号)仅统计在应用every
过滤器后可用的行,因此在这两种情况下,x值都从0
变为39
。要使两个图都在彼此下方绘制,必须将40
添加到第二个图中(或者可能41
以使两者之间有一个小间隙:
plot "t.dat" using 0:1 every ::0::39 with boxes,\
"" using ($0 + 41):1 every ::40::79 with boxes
现在,要绘制所有四个组,您可以展开此plot命令以同时保存其他两个组,或者使用
set boxwidth 0.7 relative
set style fill solid 1.0 noborder
set xtics ("1" 19.5, "4" 60.5, "8" 101.5, "16" 142.5)
unset key
plot for [i=1:4] 't.dat' using ($0+(i-1)*41):1 every ::((i-1)*40)::(i*40-1) with boxes lt i
我将问题回滚到其原始版本,因为您将更新作为新问题发布。这使此问题在此处更加清晰。