当曲线退出图形区域时,gnuplot中消失的填充区域

当曲线退出图形区域时,gnuplot中消失的填充区域,plot,gnuplot,Plot,Gnuplot,我正要在这里问这个问题,但在做之前一分钟,我想到了如何解决这个问题。因为我认为其他人可能也经历过同样的问题,所以我回答自己的问题 假设您要绘制一条曲线,并在其下方绘制一个阴影,例如y=x²。在gnuplot中,类似的东西是这样实现的 plot -x**2 with filledcurves x1 这将生成以下图表: 现在想象一下,出于某种原因,您希望限制y轴的范围,以便最大值为-10。然后 set yrange [*:-10] plot -x**2 with filledcurves x1

我正要在这里问这个问题,但在做之前一分钟,我想到了如何解决这个问题。因为我认为其他人可能也经历过同样的问题,所以我回答自己的问题

假设您要绘制一条曲线,并在其下方绘制一个阴影,例如y=x²。在gnuplot中,类似的东西是这样实现的

plot -x**2 with filledcurves x1
这将生成以下图表:

现在想象一下,出于某种原因,您希望限制y轴的范围,以便最大值为-10。然后

set yrange [*:-10]
plot -x**2 with filledcurves x1
结果如下:

看起来很糟糕。即使您要求gnuplot对曲线和x轴之间的区域进行着色,但图形外部的曲线部分未被渲染的事实阻止了这种情况的正确发生


你怎么修理它?回答如下。

要解决此问题,您需要一个条件图,当原始函数位于图形区域之外时,该图将曲线转换为y=-10:

set yrange [*:-10]
plot -x**2 <= -10 ? -x**2 : -10 with filledcurves x1
设置Y范围[*:-10]

plot-x**2这是剪辑代码中的一个错误,在开发版本中已修复。不幸的是,这不会在即将到来的4.6分支补丁级别中实现,而是只在下一个稳定的主要版本中可用。