GNUPLOT heredoc;绘制xrange错误

时间:2014-05-08 13:42:49

标签: gnuplot curve-fitting

我试图在(bash heredoc / script for)gnuplot中进行分段线性拟合。我试过这个:

plot "datafile1" u 1:2:6:7:10:11 with xyerrorbars,\
     "datafile1" u 1:4:8:9:10:11 with xyerrorbars,\
     "datafile2" u 1:2:3 with xyerrorbars,\
     [xmin:xmax] f(x)

但它返回无效的表达式错误。任何想法为什么会失败?

注意 - fit [xmin:xmax] f(x)不会返回任何错误消息(因此我认为它有效)。

GNUPLOT 4.4.3

1 个答案:

答案 0 :(得分:1)

您只能在plot命令的开头指定范围。此范围适用于此plot命令的以逗号分隔的所有部分。所以你可以使用

plot [xmin:xmax] f(x),\
     "datafile1" u 1:2:6:7:10:11 with xyerrorbars

但这也会将[xmin:xmax]范围应用于datafile1。如果您只想限制f(x)的范围,则必须定义一个在所需范围之外无效(1/0)的函数:

plot "datafile1" u 1:2:6:7:10:11 with xyerrorbars,\
     "datafile1" u 1:4:8:9:10:11 with xyerrorbars,\
     "datafile2" u 1:2:3 with xyerrorbars,\
     (x > xmin && x < xmax) ? f(x) : 1/0

请注意,您的原始命令将在即将发布的gnuplot 5.0版中运行