我想填充从 xrange 1950(数据开始)到 2020 的曲线和 x 轴之间的区域。我尝试使用
plot [..] with filledcurves below x1=2020
但这会产生一个图,其中 y 尺度被弄乱了,看起来就错了。
我试图用附图说明我想要什么(左边是原图,右边是我想要的)。
我很感激任何提示!
你不写你是否有一个函数或一个数据文件。好吧,我一直在努力限制填充曲线的范围。像下面这样的东西(我认为这很简单)不起作用:(我仍然不完全理解为什么)。它给出了一条消息warning: Ignoring sample range in non-sampled data plot
,而不是预期的结果(gnuplot 5.2.8)。
plot [1950:2020] $Data u 1:2 w filledcurves x1 lc "red", \
[1940:2100] '' u 1:2 w l lw 2 lc "black"
因此,我改为使用三元运算符来限制填充的 xrange。
代码:
### fill below a part of a curve
reset session
# create some test data
f(x) = 2.5e5*(x-1900)**2
set table $Data
plot sample [1940:2100:5] '+' u 1:(f($1)) w table
unset table
unset key
set grid xtics, ytics front
set xrange [1940:2100]
set style fill solid 0.3
LimitRange(x,x0,x1) = x0<=x && x<=x1 ? x : NaN
plot $Data u (LimitRange($1,1950,2020)):2 w filledcurves x1 lc "red", \
'' u 1:2 w l lw 2 lc "black"
### end of code
结果: