【问题标题】:Gnuplot: Variables of multi-column statsGnuplot:多列统计的变量
【发布时间】:2016-11-30 17:58:29
【问题描述】:

我正在计算一个文件的统计数据,其中第 2 列是我的 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

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

【问题讨论】:

    标签: statistics gnuplot


    【解决方案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
    ...
    

    【讨论】:

      【解决方案2】:

      来自文档:

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

      所以

      rate_Y_max_y
      

      就是你要找的东西。

      您可能应该使用:

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

      【讨论】:

      • 哈哈。 3 年后,我回到这篇文章并想要投票,然后才意识到我也遇到了这个问题并已经为它写了一个答案。
      猜你喜欢
      • 1970-01-01
      • 2021-08-07
      • 2020-04-01
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 2022-12-28
      • 1970-01-01
      • 2021-11-11
      相关资源
      最近更新 更多