gnuplot中的数据和图范围 我有这样的数据: 标签 - > 1 2 3 4 5 Val1 1.67E+07 2.20E+07 3.04E+07 7.89E+07 1.24E+08 Val2 1.71E+07 2.35E+07 2.70E+07 7.80E+07 1.31E+08 Val3 1.4 ...

问题描述 投票:0回答:2

label-> 1 2 3 4 5 val1 1.67E+07 2.20E+07 3.04E+07 7.89E+07 1.24E+08 val2 1.71E+07 2.35E+07 2.70E+07 7.80E+07 1.31E+08 val3 1.48E+07 2.15E+07 2.74E+07 7.18E+07 1.17E+08 val4 1.57E+07 2.07E+07 2.49E+07 7.46E+07 1.27E+08 val5 1.32E+07 2.23E+07 3.07E+07 7.50E+07 1.16E+08 mean 1.55E+07 2.20E+07 2.81E+07 7.57E+07 1.23E+08

有可能在gnuplot中执行此操作,或者我应该与Excel息息相关?
    

您可以使用

awk
gnuplot

来做到这一点。假设您的示例数据(无行)在

mean
range gnuplot average rows calculated-columns
2个回答
0
投票
data.txt

)和第二行开始计算每列中的平均值(记录,或行,#1 -

i=2
->不要汇总,但填充辅助阵列
NR==1
与零:
a
)。为此,人们可以使用
a[i]=0.0
条件:
awk
if (NR==1)... else {...calculate the means...}
读取数据行。在每一行中,您迭代字段,并将数字
Awk
列的数据汇总到数组元素
i
a[i]
当迭代第一行(
{for(i=2;i<=NF;i++) a[i]+=$i;}
)时,我们会;
在
NR==1
脚本的
END

(所有处理行)上,只需除以数据中的列数即可计算平均值。注意,下面的代码假定您具有矩形形式的数据(
awk
= const)。

也,将行列标签保存到

NF-1
阵列:
NF
然后将标签和平均值打印到行中,一个标签的一行。

label
最终数据表将以这种方式看:

if (NR==1) {for(i=2;i<=NF;i++) label[i]=$i; ... }

然后您可以将一列绘制在另一列上。
请注意,GNUPLOT的最终数据应格式化列,而不是行。
以下代码执行所述操作:
for(i=2;i<=NF;i++) {printf label[i]" "; print a[i]/(NF-1)}

注意,应用后斜切角色

1 15500000 2 22000000 3 28080000 4 75660000 5 123000000

gnuplot> unset key
gnuplot> plot "<export LC_NUMERIC=C; awk '{if (NR==1) {for(i=2;i<=NF;i++) label[i]=$i; a[i]=0.0;} else {for(i=2;i<=NF;i++) a[i]+=$i;};} END {for(i=2;i<=NF;i++) {printf label[i]\" \"; print a[i]/(NF-1)}};' data.txt"

\


尽管一个相当古老的问题,但带有未接受的答案,这是一个简单的

gnuplot-lyly

版本。使用
gnuplot

do for

循环中计算均值,然后将值存储在字符串中。检查
stats
help do


0
投票
data:

help stats

SO31878011.dat
script:
(2014年2月的GNUPLOT> = 4.6.5)
label-> 1   2   3   4   5
val1    1.67E+07    2.20E+07    3.04E+07    7.89E+07    1.24E+08
val2    1.71E+07    2.35E+07    2.70E+07    7.80E+07    1.31E+08
val3    1.48E+07    2.15E+07    2.74E+07    7.18E+07    1.17E+08
val4    1.57E+07    2.07E+07    2.49E+07    7.46E+07    1.27E+08
val5    1.32E+07    2.23E+07    3.07E+07    7.50E+07    1.16E+08

恢复:

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.