我在我的大学里为gnuplot写了一个脚本,然后把数据带到我家里的电脑上。 以下是相关代码:
set terminal postscript eps enhanced color font 'Helvetica,20';
set encoding utf8;
do for[i=2:12] for[j in "3 4 6"]{
set autoscale x;
set xr[-3:3];
set autoscale y;
set key right bottom;
set terminal postscript eps color ;
set termoption dash;
set xlabel "bla";
set ylabel "bla";
set output 'home/Plots/test-'.i.'-'.j.'.eps';
plot 'home/Daten/test-'.i.'-'.j.'.dat' with lines lw 4 title gprintf("homogen q=%.3f",(1/(j-1)-1/(10*(j-1)))/2); }
gprintf()不起作用..只给我0.00但是在我的大学的计算机上它做对了...帮助任何人:(
编辑: 当我输入
时,我发现gnuplot轮次......gprintf("homogen q=%.3f",j)
它给了我q=3
j = 3.00
如果我使用:
gprintf("homogen q=%.3f",j/5)
它给了我q=0.00
它必须是gnuplot的问题。因为,正如我所说,在其他计算机上它起作用:/
答案 0 :(得分:0)
使用
... gprintf("homogen q=%.3f",(1.0/(j-1.0)-1.0/(10.0*(j-1.0)))/2.0)
默认情况下,循环变量是整数,而gnuplot在使用整数运算时非常直观,正如您已经发现的那样......
作为一种风格问题,我建议将个别行的标题简化为q = ...
并使用描述性的标题,例如,
Response curves for different values of the specific energy "q"