我有一个简单的9列文件。我不会为每列计算某些统计数据,然后将其绘制(使用gnuplot)。
1)这是我如何计算除第一列以外的每一列的统计信息。
stats 'data' every ::2 name "stats"
2)在输出屏幕中,我可以看到操作成功。请注意,列数/记录数为8
* FILE:
Records: 8
Out of range: 0
Invalid: 0
Blank: 0
Data Blocks: 1
* COLUMNS:
Mean: 6.5000 491742.6625
Std Dev: 2.2913 703.4865
Sum: 52.0000 3.93394e+06
Sum Sq.: 380.0000 1.93449e+12
Minimum: 3.0000 [0] 490312.0000 [2]
Maximum: 10.0000 [7] 492643.5000 [7]
Quartile: 4.5000 491329.5000
Median: 6.5000 491911.1500
Quartile: 8.5000 492252.2500
Linear Model: y = 121.8 x + 4.91e+05
Correlation: r = 0.3966
Sum xy: 2.558e+07
3)现在,我可以通过添加_x和_y来访问前两列的统计信息
print stats_median_x
print stats_median_y
我的问题是:
我知道我可以简单地添加一个python脚本来预先计算所有这些,但是如果有使用gnuplot本身的简单方法,我宁愿避免使用它。
谢谢!
简短的答案)
stats 'data'using n
您会进入到第n次列...set print
和一个do for
循环可以创建可用于绘图的数据文件。一个可行的解决方案
set print "StatDat.dat"
do for [i=2:9] { # Here you will use i for the column.
stats 'data.dat' u i nooutput ;
print i, STATS_median, STATS_mean , STATS_stddev # ...
}
set print
plot "StatDat.dat" us 1:2 # or whatever column you want...
关于它的更多信息
寻求帮助gnuplothelp stats
可能会读到很多有趣的东西:-)
。
语法:
stats'filename ' [使用N [:M]] [name'prefix'] [[no] output]]
该命令准备文件一两列中数据的统计摘要。该使用说明符的解释以同样的方式为剧情的命令。请参阅plot
有关的详细信息index
,every
以及using
指令。
stats 'data'using 3
将为您提供...中的第3列x
stats 'data' using 4:5
其中的第4列和第5列的统计信息x,y
。关于您的解释的注意事项
你说
这就是我如何计算除第一列以外的每一列的统计信息。
stats 'data' every ::2 name "stats"
这并不是前两列(不包括前两行)的统计信息,实际上它们的计数器从0开始而不是从1开始。
由于上述假设/解释,当我们阅读
记录:8
这意味着线计算哪里8 ; 您的文件有10行(可用),您指定every ::2
了该行,而跳过了前两行,因此有8条记录对统计有用。
的确如此,我们可以更好地理解help stats
其中所说的内容
STATS_records # total number of in-range data records
暗示“用于计算此统计信息”。
在gnuplot 4.6补丁程序级别4上测试在gnuplot
5.0补丁程序级别1上工作
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句