如何在定义范围内的两条曲线之间填充截面?

时间:2019-04-23 17:23:36

标签: gnuplot

我正在写报告,需要做一些漂亮的图来解释我的问题。为此,我想绘制两条曲线f(x)和g(x)并填充xmin和xmax之间的空间。有办法吗?顺便说一句,我正在使用gnuplot 5.2 我尝试过但是没有成功:

f(x) = 1+x
g(x) = 1-x
plot '+' using (x >= 0.75 && x < 1 ? 1 : 1/0 ):(f($1)):(g($1)) with filledcurves closed

1 个答案:

答案 0 :(得分:2)

您显示的命令即将生效。修改为

  plot '+' using (x >= 0.75 && x < 1 ? $1 : 1/0 ):(f($1)):(g($1)) with filledcurves

请注意

  • 过滤器是(condition ? $1 : 1/0)而不是(condition ? 1 : 1/0)
  • 请勿使用关键字closed
  • 您必须在所选范围内拥有合理数量的样本。一种实现方法是set samples 1000,但请参阅下面的替代方法

稍微好一点的方法可能是使用采样范围而不是对x进行过滤。

  f(x) = 1+x
  g(x) = 1-x
  set xrange [0:2]; set yrange [0:3]
  plot sample [x=0.75:1.0] '+' using ($1):(f($1)):(g($1)) with filledcurves

enter image description here