Gnuplot:多列统计数据的变量

时间:2016-11-30 08:57:06

标签: statistics gnuplot

我正在计算一个文件的统计信息,其中第二列是我的X值,第15列是我的Y值。只要x范围覆盖文件中的整个数据,这种方法就可以正常工作。

stats '$LOGFILE' using 15 name 'rate_Y_'
print rate_Y_max

输出:

* FILE: 
  Records:      74
  Out of range:  0
  Invalid:       0
  Blank:         0
  Data Blocks:   1

* COLUMN: 
  Mean:      26391.9815
  Std Dev:   37555.9366
  Sum:      1.95301e+06
  Sum Sq.:  1.55917e+11

  Minimum:    2793.2603 [ 1]
  Maximum:  142755.0813 [73]
  Quartile:   4586.2274 
  Median:    10359.6168 
  Quartile:  27017.6600

142755.081306

但是当我想限制x范围时,我必须定义我的X列

set xrange [40:400]
stats '$LOGFILE' using 2:15 name 'rate_Y_'

并获得二维统计量,我的变量rate_Y_max不再可访问:

* FILE: 
  Records:      7
  Out of range: 67
  Invalid:      0
  Blank:        0
  Data Blocks:  1

* COLUMNS:
  Mean:        182.1429       111416.6321
  Std Dev:     118.5585        14491.4560
  Sum:        1275.0000       779916.4248
  Sum Sq.:  330625.0000       8.83657e+10

  Minimum:      50.0000 [6]    83292.6937 [0]
  Maximum:     400.0000 [0]   124953.1493 [5]
  Quartile:     75.0000        99960.3747
  Median:      150.0000       111045.6078
  Quartile:    300.0000       124912.0550

  Linear Model: y = -120 x + 1.333e+05
  Correlation:  r = -0.9817
  Sum xy:       1.302e+08

           line 0: undefined variable: rate_Y_max

问题:如何访问二维统计变量?

2 个答案:

答案 0 :(得分:1)

来自doc:

  

如果通过单个stats命令联合分析两列,则   后缀" _x"或" _y"附加到每个变量名称。即STATS_min_x   是第一列中找到的最小值,而STATS_min_y是   第二列中找到的最小值。

所以

rate_Y_max_y

您正在寻找的是什么。

您可能应该使用:

stats '$LOGFILE' using 2:15 name 'rate'
print rate_max_y

答案 1 :(得分:1)

使用show variables rate_查看您致电stats ... name 'rate'时生成的所有变量。

set xrange [0:100]
stats '+' using 1:($1**2) name 'rate'

现在打电话给show variables rate_打印

Variables beginning with rate_:
...
rate_min_x = 0.0
rate_max_x = 100.0
...
rate_min_y = 0.0
rate_max_y = 10000.0
...