我正想在这里问这个问题,但在这样做之前一分钟我想出了如何解决这个问题。因为我认为其他人可能也遇到过同样的问题,所以我回答我自己的问题。
假设您想要绘制一条曲线及其下方的阴影,例如 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
这给出了期望的结果:
请注意,如果不进一步设置样式,阴影区域将覆盖轴控制线和标题文本,但这是另一回事。
我希望这对一些人有帮助。
关于plot - gnuplot 中的填充区域在曲线退出图形区域时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21118392/