相关疑难解决方法(0)

在gnuplot函数中使用awk或其他shell命令

我想要这样的东西:

file1='logs/last/mydata1.log'
file2='logs/last/mydata2.log'

# declare function that uses awk to reshape the data - does not work :(
sum1(fname)=("<awk '{sum=0; for(i=8;i<=NF;i+=2) sum+=$i; print $1,sum/2}' $fname")
sum2(fname)=("<awk '{sum=0; for(i=9;i<=NF;i+=2) sum+=$i; print $1,sum/2}' $fname")

# plot different columns of my file and awk processed file
plot file1 u 1:2 title "thing A measure 1" w l, \
     file1 u 3:4 title "thing A measure 2" w l, \
     file2 u 1:2 title "thing B measure 1" w l, \
     file2 u 3:4 …
Run Code Online (Sandbox Code Playgroud)

awk gnuplot

16
推荐指数
1
解决办法
2万
查看次数

gnuplot将一个数字从数据文件存储到变量中

OSX v10.6.8和Gnuplot v4.4

我有一个包含8列的数据文件.我想从第6列获取第一个值并将其作为标题.这是我到目前为止所拥有的:

#m1 m2 q taua taue K avgPeriodRatio time
#1  2  3   4   5   6        7        8

K = #read in data here
graph(n) = sprintf("K=%.2e",n) 
set term aqua enhanced font "Times-Roman,18"

plot file using 1:3 title graph(K)
Run Code Online (Sandbox Code Playgroud)

以下是我的数据文件的前几行:

1.00e-07 1.00e-07 1.00e+00 1.00e+05 1.00e+04 1.00e+01 1.310 12070.00
1.11e-06 1.00e-07 9.02e-02 1.00e+05 1.00e+04 1.00e+01 1.310 12070.00
2.12e-06 1.00e-07 4.72e-02 1.00e+05 1.00e+04 1.00e+01 1.310 12070.00
3.13e-06 1.00e-07 3.20e-02 1.00e+05 1.00e+04 1.00e+01 1.310 12090.00
Run Code Online (Sandbox Code Playgroud)

我不知道如何正确读取数据,或者这是否是正确的解决方法.

编辑#1

好的,多亏了我现在的mgilson

#m1 m2 q …
Run Code Online (Sandbox Code Playgroud)

variables gnuplot

11
推荐指数
2
解决办法
2万
查看次数

标签 统计

gnuplot ×2

awk ×1

variables ×1