You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gnuplot中stats命令无法计算统计量,如何修改代码解决?

问题分析与修复方案

原代码执行时stats命令报错,核心原因有三个:

  1. 数据块索引错误:$Data是单个完整数据块,没有定义V1、V2子块,但代码中使用index word(DATA_BLOCKS, i)指定索引,导致找不到对应数据。
  2. 分组匹配逻辑错误:循环变量j是1、2、3的序号,代码中用column(GROUP_COLUMNS) == j匹配分组,但实际分组值是2、3、4,两者不匹配,过滤后无有效数据点。
  3. 未处理无数据场景:当stats未找到有效数据时,STATS_records变量未定义,直接打印会触发错误。

具体修改内容

  • 移除DATA_BLOCKS相关的循环和index参数,直接使用完整的$Data数据块;
  • 分组判断改为匹配GROUP_LABELS中的实际数值:column(GROUP_COLUMNS) == int(word(GROUP_LABELS, j));
  • 提前初始化STATS_records为0,避免未定义变量报错。

修正后的完整代码

reset session

$Data <<EOD
AK  lA  rA  lH  rH
4   8820    3861    4954.7  2093.5
4   6294.4  2604.3  4251.9  1733.1
4   8671.5  3271.7  4912    2075.7
4   9447.3  3454.1  5054.1  2220.5
4   8070.9  2919.6  4434.8  1920.8
2   8951.2  3548.1  4838.1  1946.2
4   7809.1  2573.1  3913    1723.8
4   7985.3  3228.1  4816.9  1897
2   9239    3970.7  5011.8  2161
2   7549.9  3104.6  3854.8  1681.7
2   8706.2  3167.6  4713.1  2191.5
4   10121.5 3890.7  5599.5  2377.3
4   9153.3  3114.2  4890.2  1930
4   8327.5  3741.6  4793.4  2140.1
3   7091.6  3013.2  4053.9  2224.8
3   6878.2  3298.8  4238.6  1900
2   6940.4  2751.3  3810.6  1581.8
2   7232.9  3296.6  4342    1540.1
3   8722    3851.3  5646.5  2213
4   7723.4  3541.9  4588.6  2380.7
2   8272.8  3184.3  5262.9  1914.6
2   6798.3  2685.9  3208    1665.5
4   7685.6  3132.5  3486.7  1457.2
2   6820.9  2677.6  4388.6  2223
4   6980.2  3062.4  4375.9  1681.9
EOD

LABELS          = 'lA rA lH rH'
GROUP_LABELS    = '2 3 4'
GROUP_COLUMNS   = 'AK'

do for [selected_label in LABELS] {
    do for [j=1:words(GROUP_LABELS)] {
        # 初始化变量避免未定义
        STATS_records = 0
        stats $Data using (((column(GROUP_COLUMNS) == int(word(GROUP_LABELS, j))) ? 1.0 : NaN) * column(selected_label)) 
        print sprintf("标签%s,分组%s的记录数:%d", selected_label, word(GROUP_LABELS, j), STATS_records)
    }
    pause -1
}

内容的提问来源于stack exchange,提问作者magfan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 16:22:02