代码之家  ›  专栏  ›  技术社区  ›  Eugenio Gambari

Gnuplot时间内沿条形图的温度动画

  •  1
  • Eugenio Gambari  · 技术社区  · 7 年前

    我的数据集由一个矩阵组成,其中列数对应于沿导热条的20个不同位置,第一列包含实验的运行时间。

    换言之,读取矩阵的j行将按此顺序给出以下数据:
    时间t(j),位置1在时间t(j)的温度,温度。在t(j)位置2处,临时雇员t(j)处位置20的。

    我的目标是制作一个沿x轴位置的动画绘图,并显示y轴上随时间变化的相对温度。

    我是使用gnuplot的新手,如果有更容易处理的形状,可以修改数据集,如果有任何帮助,我将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  0
  •   user8153    7 年前

    您的数据格式有点不寻常,因为一个帧的所有数据似乎都在一行中。下面是一个可能让您开始学习的基本示例:假设您只有3个(而不是20个)位置,数据文件中总共有3行(时间点):

    0       2       4       6
    1       3       4       5
    2       4       4       4
    

    第一列是时间,第2-4列是温度。然后可以使用以下脚本在每一行上循环:

    Npositions = 3
    Nrows = 3
    
    set xtics 1
    set xlabel "Position"
    set xrange [0.2:Npositions+0.8]
    
    set ylabel "Temperature"
    set yrange [0:10]
    
    set boxwidth 0.5 absolute
    set style fill solid
    
    do for [row=0:Nrows-1] {
       plot for [column=2:Npositions+1] "test.dat" u (column-1):column every ::row::row w boxes notitle ls 1, \
        "" u (1):(9):("Time " . stringcolumn(1)) every ::row::row with labels notitle
       pause 0.5
    }
    

    enter image description here