所以,我一直在进行一些模拟,我遇到了数据格式问题。 我要绘制的数据文件由3列数据组成:X Y f(X,Y)。在Fortran中,我使用以下命令
26 format(2F11.3,ES16.5)
write(2,26) X(i),Y(j),prob(i,j)
生成如下文件:
-490.001 -490.001 2.21004E-99
-490.001 -485.001 4.65201E-98
-490.001 -480.001 9.49095E-97
然后,使用gnuplot 5.0中的以下命令
reset
set terminal gif animate size 800,600 enhanced font 'Helvetica,10'
set size square
unset cbtics
s=201
set palette rgb 34,35,36;
set pm3d map
set dgrid3d 201,201
set output "novo12.gif"
do for [i=0:0]{
set autoscale fix
splot 'rtp.txt' u 1:2:3 every :::(0+i*s)::(s+i*s) notitle
}
set output
我得到。哪个错了,似乎没有任何实际意义。但是,当我放弃使用Fortran中的format语句并使用
编写文件时write(2,*) X(i),Y(j),prob(i,j)
我得到的数据文件如下:
-490.000809582900 -490.000809582900 2.210036061559572E-099
-490.000809582900 -485.000801321850 4.652007002167014E-098
-490.000809582900 -480.000793060800 9.490949372368304E-097
然后,使用相同的gnuplot命令,我得到,这是正确的!
我可以使用列表导向输出,因为它可以工作,但是有另一个文件,其中一个向量字段用4列(XY dx dy)编写,并使用自由格式写入数据将导致第4列赢得& #39;与前三个相同的行,使其“不可读”#39;通过gnuplot。
为什么gnuplot不了解数据?我该如何解决这个问题?