为什么gnuplot在合身后没有绘图?

时间:2014-05-29 13:28:29

标签: plot output gnuplot

我正在尝试拟合线性曲线,然后使用拟合线绘制图形。但是,以下方法不起作用,因为gnuplot产生0 kbyte .png输出。

set t push
set term png
fit f(x) "NET_OUTPUT.dat" u 1:2 via a,b 
plot "NET_OUTPUT.dat" using 1:2 with points, f(x) 
unset output
set term pop

如果不包括拟合线,我可以毫无问题地绘图。 我怀疑问题是fit.log文件被写入,而gnuplot没有完成输出文件的写入。

有人知道这是什么问题吗? 非常感谢!

1 个答案:

答案 0 :(得分:0)

对于gnuplot,当绘制到png时,我通常会创建一个类似的脚本:

#!/usr/bin/gnuplot

set term png
set output "out.png"

f(x) = a*x + b
fit f(x) "data.dat" u 1:2 via a,b

plot "data.dat" u 1:2, f(x)

并使用./plot.gnu调用它,或者我创建一个类似的脚本:

#!/usr/bin/gnuplot

set term png

f(x) = a*x + b
fit f(x) "data.dat" u 1:2 via a,b

plot "data.dat" u 1:2, f(x)

并使用./plot.gnu > out.png调用它。

第一种方法要求gnuplot将png写入指定的输出文件。第二个请求gnuplot生成png但不设置位置(因此它被转储到标准输出),在这种情况下,我将标准输出(使用>的bash)重定向到我的png文件。

您还可以在命令行中将脚本传递到带有gnuplot plot.gnugnuplot plot.gnu > out.png的gnuplot,在这种情况下,以#开头的行将被忽略为注释。