使用bash在非均匀网格上自动绘制gnu热图

使用bash在非均匀网格上自动绘制gnu热图,bash,shell,gnuplot,heatmap,Bash,Shell,Gnuplot,Heatmap,我发现这篇关于在非均匀网格上绘制热图的帖子非常有用: 现在,如果我将建议的命令手动放到gnuplot中,一切都会很好。但是,我希望通过编写一个shell脚本来自动生成图形,我可以在fortran代码中直接调用该脚本 这是脚本(Map_Ent.sh): 然而,当我这样做时,我的图形是完全白色的。你知道我做错了什么吗?我将非常感谢任何建议 bash对$2进行解释,结果为空。因此,gnuplot仅绘制-0.5$2是列(2)的快捷方式。只需使用后者,就可以了: #!/bin/bash gnuplot &

我发现这篇关于在非均匀网格上绘制热图的帖子非常有用:

现在,如果我将建议的命令手动放到gnuplot中,一切都会很好。但是,我希望通过编写一个shell脚本来自动生成图形,我可以在fortran代码中直接调用该脚本

这是脚本(Map_Ent.sh):


然而,当我这样做时,我的图形是完全白色的。你知道我做错了什么吗?我将非常感谢任何建议

bash对
$2
进行解释,结果为空。因此,gnuplot仅绘制
-0.5
<代码>$2是
列(2)
的快捷方式。只需使用后者,就可以了:

#!/bin/bash
gnuplot <<- EOF

set pm3d map corners2color c1
set autoscale fix
set ytics 1
splot 'Career_Choice.txt' using 1:(column(2)-0.5):3  

EOF
然后

call SYSTEM('gnuplot -persist file.gp')

(我不确定fortran调用是否正确,只是从问题中复制过来的)。

gnuplot是的,我实际上是在没有-的情况下启动的。它也不起作用。我还尝试了persist。但图形仍然是完全空的。奇怪的是,当我在gnuplot中手动键入脚本时,它可以完美地工作。当您在命令提示符下调用脚本时会发生什么,即不是从您的fortran程序调用脚本时会发生什么。像
bash scriptname
那样调用它,但不使用相同的
/
。它显示了图形轮廓等,但“填充”是白色的。非常感谢!gnuplot脚本版本工作得非常完美,可以完成我想要的一切!
#!/bin/bash
gnuplot <<- EOF

set pm3d map corners2color c1
set autoscale fix
set ytics 1
splot 'Career_Choice.txt' using 1:(column(2)-0.5):3  

EOF
set pm3d map corners2color c1
set autoscale fix
set ytics 1
splot 'Career_Choice.txt' using 1:(column(2)-0.5):3 
call SYSTEM('gnuplot -persist file.gp')