我正在尝试使用gnuplot来填充曲线和x轴之间的某个xrange。例如,当x <5时,我想在线f(x)= x之间填充。
示例代码:
set xrange [-10:10]
set yrange [-10:10]
set samples 100
plot x with filledcurves above x1=5
当在Gnuplot 5.0中绘制时,它不会显示任何填充。
我可以尝试相反:
plot x with filledcurves below x1=5
这更接近,因为当x <5时它填充在线f(x)= x以下,但是当x> 5时它也会遮挡上面的区域。也没有办法将它限制在x轴上方。
任何帮助将不胜感激。感谢。
答案 0 :(得分:0)
似乎没有“直接”的方式来做到这一点。 Christoph给出了解决方案here。
根据他的代码,我想出了以下内容:
set xrange [-10:10]
set yrange [-10:10]
filter_lt(x,xmax) = ((x < xmax) ? x : 1/0)
f(x) = x
xmax = 5
plot '+' using (filter_lt($1,xmax)):(f($1)) with filledcurves x1 lt 1 notitle,\
'' using 1:(f($1)) with lines lw 2 lt 1 title 'f(x)=x'