限制在Gnuplot上绘制的函数的域

dpl*_*net 12 gnuplot

我正在绘制关于Gnuplot的一组数据,并希望将该函数叠加x^2在同一个图上.我可以这样做:

plot "filename" using 1:2, x**2
Run Code Online (Sandbox Code Playgroud)

这产生了一个图,其中函数x^2在图的整个域中延伸.我想这样,函数只显示在图的一小段上,比如x = 1到x = 2,而图的大小filename由x = 0到x = 10表示. .我知道要自己绘制函数我能做到:

plot [1:2] x**2
Run Code Online (Sandbox Code Playgroud)

但是,如果我直观地尝试的东西不起作用,我将如何将叠加保持在一起:

plot "filename" using 1:2, [1:2] x**2

invalid expression
Run Code Online (Sandbox Code Playgroud)

当涉及到使用它时,文档似乎很难解释.

and*_*ras 18

最简单的方法可能是使用三元运算符定义分段函数?:

f(x) = (x > 1 && x < 2) ? x**2 : 1/0
plot "filename" using 1:2, f(x)
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用replot命令:

plot "filename" using 1:2
replot [1:2] x**2
Run Code Online (Sandbox Code Playgroud)


And*_*rej 5

我知道这是一个老问题,但对于任何可能正在寻找更简单方法的人来说:

你的第一个想法

plot "filename" using 1:2, [1:2] x**2
Run Code Online (Sandbox Code Playgroud)

现在工作。