【发布时间】:2015-09-11 03:11:32
【问题描述】:
我提出一个新问题是因为How to plot histograms from rows in data file gnuplot 中的更新没有受到太多关注。 相关问题:gnuplot histogram: How to put values on top of bars和gnuplot rowstacked histogram: how to put sum above bars
t.dat 文件如下所示:
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
目标是计算文件 t.dat 中四组数字的标准差,并将它们显示为组成直方图的条形上方的标签。第 1 组:第 1-40 行 第 2 组:第 41-80 行 第 3 组:第 81-120 行 第 4 组:第 121-160 行
到目前为止,我只能手动完成此操作。我已将所需的行范围拆分为单个文件,即。 e. tempos1.dat、tempos4.dat、tempos9.dat 和 tempos16.dat,使用统计数据计算它们的标准偏差并将它们显示为标签。
代码如下:
set term pngcairo
set out 'st-dev.png'
unset key
stats "tempos1.dat" using 1 name "A"
stats "tempos4.dat" using 1 name "B"
stats "tempos9.dat" using 1 name "C"
stats "tempos16.dat" using 1 name "D"
set label "0.6234" at 28,275
set label "0.4666" at 90,90
set label "0.9836" at 149,85
set label "0.2947" at 210,65
set boxwidth 0.9 relative
set style data histogram
set style histogram cluster gap 1
set style fill solid 1.0 border -1
set xrange [0:250]
set xtics ("1" 40, "4" 100, "8" 160, "16" 220)
plot for [i=1:4] 't.dat' using ($0+20+(i-1)*61):1 every ::((i-1)*40)::(i*40-1) with boxes lt i
我阅读了相关帖子,看来,要将 std dev 放在条形之上,我所要做的就是在 using 子句中添加一个列,其中包含存储 std_dev 的变量,但现在它是通过手动拆分的文件计算的。 这是所需的输出:
我该怎么做?
【问题讨论】:
-
你的更新没有受到太多关注,因为更新不是为了问一个基本的新问题;)
标签: gnuplot histogram standard-deviation