我制作简单的情节时遇到一些麻烦。 我的.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
你知道吗?
感谢
答案 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