如何使用GnuPlot从数据的特定部分生成热图?(';splot';';每个';';使用';不兼容项等)

如何使用GnuPlot从数据的特定部分生成热图?(';splot';';每个';';使用';不兼容项等),plot,gnuplot,heatmap,Plot,Gnuplot,Heatmap,我正试图从我一直在生成的数据文件中生成热图。我可以根据自己的喜好对数据进行重新格式化,但就目前而言,假设这是一个包含16个数字的列表,我希望将其放入4x4热图中。然而,在同一个文件中,我有许多这16个数字的序列集,并希望最终将它们一起设置动画(这是我比较熟悉的,稍后会介绍) 然而,目前,我无法找到一种方法让GnuPlot在仍然正确打印的情况下仅选择数据文件的某些部分。一个松散的例子,我会认为它会是什么样子: plot "SortedData.txt" every ::0::15 w image

我正试图从我一直在生成的数据文件中生成热图。我可以根据自己的喜好对数据进行重新格式化,但就目前而言,假设这是一个包含16个数字的列表,我希望将其放入4x4热图中。然而,在同一个文件中,我有许多这16个数字的序列集,并希望最终将它们一起设置动画(这是我比较熟悉的,稍后会介绍)

然而,目前,我无法找到一种方法让GnuPlot在仍然正确打印的情况下仅选择数据文件的某些部分。一个松散的例子,我会认为它会是什么样子:

plot "SortedData.txt" every ::0::15 w image
或:

两者都给我错误和无法呈现。如果需要,我可以使用x-y坐标标记数据值,但任务相当重复:我只希望映射前16个点,然后能够迭代一次,并自己映射下16个点,等等。将数据文件剥离到前16个点,然后删除“every”命令确认它可以绘制,但是,即使手动指定前16个,也会把事情搞砸

谁能给我指出正确的方向吗?“every”命令相当模糊,似乎在很大程度上与images/3-D数据不兼容。另外,我在Windows上运行,所以我希望避免在linux命令中使用管道

谢谢

编辑:下面是4个数据帧的示例。如果需要,我可以将其重新格式化为矩阵或带有像素地址的标签

0.000000    -49.314654  -44.425234  -46.613870  -48.494232  -46.884806  -46.553071  -46.555624  -43.755972  -47.817691  -42.481637  -46.819782  -44.347586  -49.487077  -47.291832  -45.140636  -47.945934
0.839906    -49.325396  -44.425493  -46.613214  -48.501283  -46.887236  -46.550858  -46.555285  -43.752786  -47.814706  -42.453793  -46.814333  -44.329492  -49.493501  -47.289394  -45.133555  -47.944045
1.679721    -49.336151  -44.425787  -46.612573  -48.508348  -46.889684  -46.548645  -46.554958  -43.749626  -47.811707  -42.425757  -46.808866  -44.311344  -49.499930  -47.286951  -45.126476  -47.942155
2.519466    -49.346920  -44.426117  -46.611946  -48.515427  -46.892152  -46.546431  -46.554641  -43.746492  -47.808695  -42.397525  -46.803382  -44.293140  -49.506365  -47.284501  -45.119398  -47.940264

数据文件中的每一行似乎都有17个元素。我假设第一列不是图像数据的一部分。我会将剩余的16个值格式化为4x4矩阵,每个帧由两个空行分隔:

-49.314654  -44.425234  -46.613870  -48.494232  
-46.884806  -46.553071  -46.555624  -43.755972  
-47.817691  -42.481637  -46.819782  -44.347586  
-49.487077  -47.291832  -45.140636  -47.945934


-49.325396  -44.425493  -46.613214  -48.501283  
-46.887236  -46.550858  -46.555285  -43.752786  
-47.814706  -42.453793  -46.814333  -44.329492  
-49.493501  -47.289394  -45.133555  -47.944045


-49.336151  -44.425787  -46.612573  -48.508348  
-46.889684  -46.548645  -46.554958  -43.749626  
-47.811707  -42.425757  -46.808866  -44.311344  
-49.499930  -47.286951  -45.126476  -47.942155


-49.346920  -44.426117  -46.611946  -48.515427  
-46.892152  -46.546431  -46.554641  -43.746492  
-47.808695  -42.397525  -46.803382  -44.293140  
-49.506365  -47.284501  -45.119398  -47.940264
然后,可以使用命令可视化每个帧

plot "data.dat" index FRAME matrix w image

其中
FRAME
是0、1、2或3。

请发布一个包含(至少)两个帧的数据文件示例。框架之间是否有分隔,例如一行或两行空白?我刚刚更新了帖子,回复了你。
plot "data.dat" index FRAME matrix w image