带有不同轴的{Gnuplot循环

时间:2016-02-15 10:38:50

标签: loops gnuplot axis

我刚刚发现了gnuplot 4.6和漂亮的循环工具。 我想用不同的x轴绘制曲线,但它不起作用。 我有一个名为file.txt的文件,其中有一个数据列表,如:

E002 = ...

E003 = ...

.

.

.

E021 = ...

关键是要用相应的数据移动每个图的x轴,如下所示:

load 'file.txt'
plot for [a=2:21] 'my_data_file.dat' u ($1+'E00'.a ):a w l

但这不起作用,我有错误:'Non-numeric string found where a numeric expression was expected'.

我不知道如何绕过这个问题。

第二个问题, 我希望之后总结所有的列,但像以前一样转移。类似的东西:

($1+E002):$2 + ($1+E003):$3 +...

有办法吗?

1 个答案:

答案 0 :(得分:2)

对于第一个问题,您需要使用value来获取变量的值。

我建议使用更通用的sprintf命令来操作字符串:

plot for [a=2:21] 'my_data_file.dat' u ($1+value(sprintf('E%03d',a))):a w l

输入help valuehelp sprintf以获取有关这些命令的更多信息

我不太了解第二个问题,也许这样的事情会有所帮助吗?

my_sum=0
plot for [a=2:21] my_val=value(sprintf('E%03d',a)), my_sum=my_sum+my_val, 'my_data_file.dat' u ($1+my_val):a w l

print my_sum

最后一行应打印所有Exxx值的总和。