相关疑难解决方法(0)

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 中绘制一个从 y 数据中自动减去最低值的图?

我正在 gnuplot 中绘制大量文件的创建时间,以查看它们是否按时间线性创建(它们不是)。

这是我的代码:

#!/bin/bash

stat -c %Y img2/*png > timedata

echo "set terminal postscript enhanced colour
set output 'file_creation_time.eps'
plot 'timedata'" | gnuplot
Run Code Online (Sandbox Code Playgroud)

我的问题是 y 数据是自 unix 开始时间以来的创建时间(以秒为单位),因此该图在 y 轴上只有 1.333...e+09。我想让第一个文件的创建时间缩放为零,以便相对创建时间是可读的。

我在许多数据绘图上下文中都遇到了这个问题,因此我希望能够在 gnuplot 中执行此操作,而不是诉诸 awk 或某些实用程序来预处理数据。

我知道第一次将是最小的,因为文件是按顺序命名的,所以有没有办法访问文件中的第一个元素,比如

`plot 'data' using ($1-$1[firstelement])`
Run Code Online (Sandbox Code Playgroud)

?

bash gnuplot

5
推荐指数
1
解决办法
5578
查看次数

标签 统计

gnuplot ×2

bash ×1

variables ×1