我有大约1000个数据文件(文件名:data1.dat,data2.dat ...... data1000.dat)。 我试图动画他们并创建一个单一的GIF图像。 但是,在过去的12个小时里,我没有这样做。 gif文件已创建,但只显示第一个图像。
请查看我的代码并建议我进行必要的修改。 感谢
set terminal gif
set output "output.gif"
set xr[0:400]
set yr[-50000:50000]
set xlabel 'Space between electrodes(um)'
set ylabel 'Electric field (V/m)'
set style line 1 lt 2 lc rgb "red" lw 1
do for [i=1:100] {
plot sprintf('data%d.dat', i) with linespoints ls 1 pointtype 0 title sprintf('data%d.dat', i)
pause 0.1
reread
}
set output
答案 0 :(得分:1)
您需要使用动画,例如:
set terminal gif animate delay 10
其中10表示帧之间有10/100秒的延迟。有关详细信息,请参阅help terminal gif
中的gnuplot
。
您还可以考虑使用另一个终端(例如pngcairo)通过在set output sprintf('frame%03.0f.png',i)
循环内移动do
来生成单独的图像。然后你可以使用例如加入框架mencoder
,ffmpeg
甚至是convert
(convert -loop 0 frame*.png output.gif)
。通过这种方式,您可以获得除.gif之外的其他内容。而且你也不需要循环pause
。