空图gnuplot

时间:2015-09-02 07:56:45

标签: gnuplot heatmap

我制作简单的情节时遇到一些麻烦。 我的.gnu文件返回一个空图,如下所示:

我想要一张热图,我的数据格式是.gnu文件中的X Y Z,标题是这样的:

cat plot.gnu | head -n 10 :

set size square
set pm3d map corners2color c1
set xlabel ""
set ylabel ""
set yrange [   0.000:3003.000]
set xrange [   0.000:3003.000]
splot "-" with pm3d title "plot.gnu"
1.000 1.000 0
1.000 2.000 0
1.000 3.000 0

并且页脚是这样的:

cat plot.gnu | tail -n 10 

3002.000 2996.000 0
3002.000 2997.000 0
3002.000 2998.000 0
3002.000 2999.000 0
3002.000 3000.000 0
3002.000 3001.000 0
3002.000 3002.000 0

end
pause -1

编辑:较短的脚本可能是:

set size square
set pm3d map corners2color c1
set xlabel ""
set ylabel ""
set yrange [   0.000:4.000]
set xrange [   0.000:4.000]
splot "-" with pm3d title "plot.gnu"
1.000 1.000 1
1.000 2.000 2
1.000 3.000 4
1.000 4.000 5
2.000 1.000 1
2.000 2.000 0
2.000 3.000 3
2.000 4.000 1
3.000 1.000 1
3.000 2.000 0
3.000 3.000 3
3.000 4.000 0
4.000 1.000 9
4.000 2.000 0
4.000 4.000 3
4.000 4.000 2

end
pause -1
你知道吗? 感谢

1 个答案:

答案 0 :(得分:4)

短脚本会发出警告

  

警告:对于pm3d绘图,单个等值线(扫描)是不够的。              提示:数据文件中缺少空白行?请参阅帮助pm3d'和常见问题。

实际上,您的数据必须采用不同的结构:等值线,即具有相同x值的部分(在第一列中),必须用单个空行分隔:

set size square
set pm3d map corners2color c1
set autoscale xfix
set autoscale yfix
splot "-" with pm3d title "plot.gnu"
1.000 1.000 1
1.000 2.000 2
1.000 3.000 4
1.000 4.000 5

2.000 1.000 1
2.000 2.000 0
2.000 3.000 3
2.000 4.000 1

3.000 1.000 1
3.000 2.000 0
3.000 3.000 3
3.000 4.000 0

4.000 1.000 9
4.000 2.000 0
4.000 4.000 3
4.000 4.000 2
e
pause -1

enter image description here