gpt4 book ai didi

gnuplot - 从 gnuplot 中的 2 个文件获取比率

转载 作者:行者123 更新时间:2023-12-04 01:44:33 26 4
gpt4 key购买 nike

我有 2 个 dat 文件:

a.dat
#Xs
100 25
200 56
300 75
400 67


b.dat
#Xs
100 65
200 89
300 102
400 167

我想在 gnuplot 中绘制一个图形,其中 yy 值分别是 a.dat 和 b.dat 值之间的比率。例如,25/65、56/89、75/102 和 67/167。

我怎么做?我只知道做一个这样的情节,而不是比例。
plot "a.dat" using 1:2 with linespoints notitle
"b.dat" using 1:2 with linespoints notitle

最佳答案

您不能将来自两个不同文件的数据合并到一个 using 中。陈述。您必须使用外部工具组合这两个文件。

最简单的方法是使用 paste :

plot '< paste a.dat b.dat' using 1:($2/$4) with linespoints

对于独立于平台的解决方案,您可以使用例如以下 python 脚本,在本例中执行相同的操作:

"""paste.py: merge lines of two files."""
import sys

if (len(sys.argv) < 3):
raise RuntimeError('Need two files')

with open(sys.argv[1]) as f1:
with open(sys.argv[2]) as f2:
for line in zip(f1, f2):
print line[0].strip()+' '+line[1],

然后打电话
plot '< python paste.py a.dat b.dat' using 1:($2/$4) w lp

(另见 Gnuplot: plotting the maximum of two files)

关于gnuplot - 从 gnuplot 中的 2 个文件获取比率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20069641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com