splot 'file' u 1:2:3:4 w pm3d.
现在,我想用一个二进制文件与内容
a1 b1 c1 d1
a1 b2 c2 d2
...
[blank line]
a2 b1 c1 d1
a2 b2 c2 d2
...
一些数据文件,我这个阴谋与gnuplot的。我用Fortran使用无格式的流访问创建了文件(直接或顺序访问不直接工作)。通过使用gnuplot与
splot 'file' binary format='%float%float%float%float' u 1:2:3
我得到一个正常的3D图。但是,pm3d命令不起作用,因为我在二进制文件中没有空白行。我得到的错误信息:
>splot 'file' binary format='%float%float%float%float' u 1:2:3:4 w pm3d
Warning: Single isoline (scan) is not enough for a pm3d plot.
Hint: Missing blank lines in the data file? See 'help pm3d' and FAQ.
根据演示脚本http://gnuplot.sourceforge.net/demo/image2.html,我必须指定记录长度(我仍然不明白的权利)。但是,使用此脚本从演示页面,并与pm3d命令得到同样的错误信息:
splot 'scatter2.bin' binary record=30:30:29:26 u 1:2:3 w pm3d
那么怎么可能从正确的二进制文件绘制这个四维数据?
编辑:谢谢,mgilson。现在它工作正常。只是为了记录:我的Fortran代码 - 摘录:
open(unit=83,file=fname,action='write',status='replace',access='stream',form='unformatted')
a= 0.d0
b= 0.d0
do i=1,200
do j=1,100
write(83)real(a),real(b),c(i,j),d(i,j)
b = b + db
end do
a = a + da
b = 0.d0
end do
close(83)
的gnuplot的命令:
set pm3d map
set contour
set cntrparam levels 20
set cntrparam bspline
unset clabel
splot 'fname' binary record=(100,-1) format='%float' u 1:2:3:4 t 'd as pm3d-projection, c as contour'