Я пытаюсь построить несколько выходных файлов в gnuplot, используя команду "do for sprintf".Мой код
reset
#set encoding utf8
set encoding iso_8859_1
set terminal postscript eps enhanced color font 'Times-Bold' 25
do for [t=1:4] {
#set output 'LeftChiral_DOS.png'
set output sprintf('Trial-Ru%d-d-up.eps',t)
set size 1.0, 0.94
datafile1 = sprintf('Ru%d-up.dat',t)
datafile2 = sprintf('Ru%d-down.dat',t)
set multiplot layout 1,2
set style data linespoints
#
set origin 0.2, 0
set noxzeroaxis
set tics out
set border linewidth 2.
set style line 1 lc rgb "red" lt 1 lw 1.5 pt 7
set style line 2 lc rgb "blue" lt 1 lw 2.0
set style line 3 lc rgb "green" lt 1 lw 2.0
set style line 4 lc rgb "black" lt 2 lw 1.5 dt 2
#
set key
set key vertical at 0.9,1.6
set key font ",20"
set noxtics
set ylabel "Energy (eV)"
set xtics ( " {/Symbol G} " 0, " Y " 0.09049, " C " 0.14273, " Z " 0.23322," D " 0.27012, " E " 0.36061," A " 0.41285, " B " 0.50334, " {/Symbol G} " 0.54024)
set origin 0.1,0
set yrange[ -8.0: 4.0]
set xrange[ 0.000: 0.54024 ]
unset key
weight=15
plot datafile1 u ($1):2:($3*weight) every 3 w points lw 2 lc rgb "#FF0000" pt 6
plot datafile2 u ($1):2:($3*weight) every 3 w points lw 2 lc rgb "#FF0000" pt 6
}
Как вы можете видеть, я использовал do для и sprintf для вывода нескольких файлов для каждого значения переменной t.
Но gnuplot выдает ошибку "Невозможно изменить вывод для multiplotрежим "
Может кто-нибудь, пожалуйста, помогите мне решить эту проблему.
Спасибо