gnuplot 矩阵数据块图像

gnuplot matrix datablock image

我有一个 ASCII 文件,其中包含多个由换行符分隔的数据块。每个数据块大小相同。我想将每个数据块绘制为单独的热图。我一直在尝试以下命令的变体来绘制第一个块:

plot data matrix every :::0::0 w image

但是 gnuplot 使用此命令会出现段错误。如果我删除除一个以外的所有数据块,那么我可以用

绘制单个块
plot data matrix w image

我应该如何修改第一个命令来选择一个单独的数据块?最后,我想写一个循环来为每个数据块生成单独的图。

在我看来,"datablock"、"dataset"、"data" 等有点混乱... 如果您的 "blocks" 被多个空行分隔,您可以使用 index 来解决它,检查 help index。如果 "blocks" 由一行分隔,您可以通过 every 找到它们,检查 help every

代码:

### plotting "datablocks"
reset session

$Data <<EOD
1  0
0  1


1  1
1  0


0  1
0  0


1  1
0  1
EOD

unset colorbox
set multiplot layout 2,2
    do for [i=0:3] {
        set title sprintf("Block %d",i)
        plot $Data index i matrix w image notitle
    }
unset multiplot
### end of code

结果: