我刚刚发现了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 +...
有办法吗?
答案 0 :(得分:2)
对于第一个问题,您需要使用value
来获取变量的值。
我建议使用更通用的sprintf
命令来操作字符串:
plot for [a=2:21] 'my_data_file.dat' u ($1+value(sprintf('E%03d',a))):a w l
输入help value
和help 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
值的总和。