我对我的绘图剧本的行为感到困惑。我想绘制多个文件。在最后一个文件中我想要不同的边框设置。所以我想出了一个if语句。该脚本如下所示:
labeltitles = "0.01 0.02 0.05 0.1 0.15 0.1885 0.2 0.25"
outnames = "0p01 0p02 0p05 0p1 0p15 0p1885 0p2 0p25"
do for [i=1:2] {
set border 4 + 1 ## top (4) + bottom (1)
if (i = words(labeltitles)) {set border 8 + 4 + 1} ## right (8) + top (4) + bottom (1)}
set xlabel 'z = '.word(labeltitles,i)
set out word(outnames,i).'.eps'
plot 'data.dat' u (column(i+1)):1 w l lt 1 lw 7 lc rgb '#444444'
}
当我运行此脚本时,只输出最后一个图。如果我评论if语句所有的图都会输出。我也尝试添加else语句,但没有任何改变。
答案 0 :(得分:1)
相当经典的编程错误:您在if
- 条件中有一个赋值而不是比较(==
)。一定是
if (i == words(labeltitles)) {set border 8 + 4 + 1}