相关疑难解决方法(0)

如何从列中减去常数

有没有办法从列的所有值中减去最小值?我需要从第一列中的所有其他数字中减去第一列中的第一个数字.

我写了这个脚本,但它没有给出正确的结果:

$ awk '{$1 = $1 - 1280449530}' file 
1280449530 452
1280449531 2434
1280449531 2681
1280449531 2946
1280449531 1626
1280449532 3217
1280449532 4764
1280449532 4501
1280449532 3372
1280449533 4129
1280449533 6937
1280449533 6423
1280449533 4818
1280449534 4850
1280449534 8980
1280449534 8078
1280449534 6788
1280449535 5587
1280449535 10879
1280449535 9920
1280449535 8146
1280449536 6324
1280449536 12860
1280449536 11612
Run Code Online (Sandbox Code Playgroud)

awk subtraction

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

将数据集值读入gnuplot变量(X系列的开头)

我原本以为这可能与gnuplot相同- X系列的开始 - Stack Overflow - 但我认为这稍微更具体一些.

既然我有兴趣找到"X系列的开头",可以这么说 - 我会试着用一个例子来澄清; 说你有这个脚本:

# generate data
system "cat > ./inline.dat <<EOF\n\
10.0 1 a 2\n\
10.2 2 b 2\n\
10.4 3 a 2\n\
10.6 4 b 2\n\
10.8 5 c 7\n\
11.0 5 c 7\n\
EOF\n"

# ranges 
set yrange [0:8]
set xrange [0:11.5]

plot "inline.dat" using 1:2 with impulses linewidth 2
Run Code Online (Sandbox Code Playgroud)

如果你绘制它,你会注意到数据从x轴上的10开始:

gnuplot的-startx.png

现在,当然你可以调整xrange- 但有时你会对"从0开始"的"相对位置"感兴趣,可以这么说.因此,人们希望看到数据在x轴上"向左移动",因此它从0开始.由于我们知道数据从10.0开始,我们可以明确地从第一列中减去该数据:

plot "inline.dat" using ($1-10.0):2 with impulses linewidth 2
Run Code Online (Sandbox Code Playgroud)

......这基本上就是诀窍.

但是说你不想在 …

gnuplot

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

使 gnuplot 的 x 轴从 0 开始,而不是从第一个日期开始

我正在绘制一些 [date, value] 格式的数据(cpu 随时间使用)并希望 xtics 从 0 或 1 开始,而不是第一个日期。

所以 10 小时它应该看起来像:0:01:00, 0:02:00, .., 0:10:00insead of 9:23:00 ...(因为数据中的第一天是 9 号晚上 11 点)。

我当前的日期时间设置:

set xdata time
set timefmt "%Y-%m-%d %H:%M:%S"
set xtics format "%d:%H:%M" font ",25"
Run Code Online (Sandbox Code Playgroud)

编辑:如果有一种方法可以在没有日期信息的情况下从 x 轴上的 0 开始计算小时数,那也太棒了。无论哪种方式。我只想从 0 开始计数,以使“所用时间”非常清楚。

gnuplot

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

标签 统计

gnuplot ×2

awk ×1

subtraction ×1