【问题标题】:Create a gif in Gnuplot from a single file在 Gnuplot 中从单个文件创建 gif
【发布时间】:2016-10-13 16:29:43
【问题描述】:

我有一个像下面这样的长文件(我只是写一个示例)

0.0 0.00209627946771 6483.0 3092622.0 1100
0.1 0.00253798848144 78.0 30733.0 1100
0.2 0.0174927113703 6.0 343.0 1100
0.3 0.0 0.0 35.0 1100
0.4 0.1 1.0 10.0 1100
0.5 0.0 0.0 4.0 1100
0.9 0.0 0.0 1.0 1100
1.0 0.0 0.0 2.0 1100
0.0 0.00292927058349 9057.0 3091896.0 2100
0.1 0.00299136583044 88.0 29418.0 2100
0.2 0.00743889479277 14.0 1882.0 2100
0.3 0.00578034682081 2.0 346.0 2100
0.4 0.0172413793103 2.0 116.0 2100
0.5 0.030303030303 1.0 33.0 2100
0.6 0.0 0.0 11.0 2100
0.7 0.0 0.0 10.0 2100
0.8 0.0 0.0 11.0 2100
0.9 0.181818181818 2.0 11.0 2100
1.0 0.0 0.0 16.0 2100
0.0 0.00318549549582 9845.0 3090571.0 3100
0.1 0.00273270708796 80.0 29275.0 3100
0.2 0.00489168413697 14.0 2862.0 3100
0.3 0.00810372771475 5.0 617.0 3100
0.4 0.010101010101 2.0 198.0 3100

我有兴趣绘制的数据是第一列和第二列。第 5 列是我模拟的时间(它是与不同时间戳相关的信息)。

Creating a gif with gnuplot: Gif doesn't play 获得灵感,我想写一些类似的东西

set terminal gif size 1000,800 animate delay 6
set output 'try.gif'

set xrange [0:1]
set yrange [0:1]

do for [i=100:40200:100] {
 ....
}

但我不知道如何向 gnuplot 指示第 i 个数据块由最后一列给出。有什么建议吗?

【问题讨论】:

    标签: gnuplot gif


    【解决方案1】:

    似乎时间戳是等距的。然后您可以尝试以下方法:

    set terminal gif size 1000, 800 animate delay 100
    set output 'try.gif'
    
    # Viewing the 3D plot from top imitates a 2D plot.
    set view map
    
    set xlabel "x"
    set ylabel "y"
    
    do for [i=1100:3100:1000] {
      # Only points at time "i" are plotted.
      set zrange [i-1:i+1]
      set title "Time: ".i
      splot "data.dat" using 1:2:5 w lp
    } 
    

    在 Debian Linux 上使用 Gnuplot 4.6 进行测试。我不在乎一遍又一遍地读取整个文件的性能。

    运行脚本会生成这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 1970-01-01
      相关资源
      最近更新 更多