使用bash在非均匀网格上自动绘制gnu热图
我发现这篇关于在非均匀网格上绘制热图的帖子非常有用: 现在,如果我将建议的命令手动放到gnuplot中,一切都会很好。但是,我希望通过编写一个shell脚本来自动生成图形,我可以在fortran代码中直接调用该脚本 这是脚本(Map_Ent.sh):使用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 &
然而,当我这样做时,我的图形是完全白色的。你知道我做错了什么吗?我将非常感谢任何建议 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')