在gnuplot中使用嵌套的for循环

时间:2019-06-10 03:08:14

标签: gnuplot

我正在尝试绘制一组图形以将模拟结果与实验数据进行比较。仿真文件在7X7X7上按顺序排列以用于各种参数。我需要为每个iXjXk文件使用嵌套的for循环绘制所有这些文件。因此,文件名为:fibrilAll_i_j_k.dat

我已经尝试了一些替代方法,例如在同一行中使用多个for循环。但这似乎不起作用。

set terminal eps size 1200,800
set output "all.eps"
set title "{/*2 Alternative rates}"
set ylabel "{/*2 fibril mass fraction}" offset 1.5,0,0
set xlabel "{/*2 Time(h)}"
set key left top
plot 'experiment.txt' using 1:6 ps 2 pt 5 title "EXP",\
for [i=1:7] for [j=1:7] for [k=1:7] 'fibrilAll'._i_j_k.'.dat' using 1:2 with lines title 'i,j,k'
replot

我收到以下错误消息:

内部错误:STRING运算符应用于未定义或非STRING变量

1 个答案:

答案 0 :(得分:0)

我看到了一些可能的问题。

1)我认为您不想绘制同一文件fibrilAll_i_j_k.dat 343次。 如果数据文件名为fibrilAll_1_5_3.dat,然后您可以说出plot ... sprintf("fibrilAll_%d_%d_%d.dat",i,j,k)

来构造该名称

2)也许您想要类似的标题

3)replot没有完成任何操作。你有遗漏什么吗?