我正要在这里提出这个问题,但在做之前一分钟我想出了如何解决这个问题。由于我认为其他人可能遇到过同样的问题,我会回答我自己的问题。
想象一下,你想在它下面绘制一条曲线和一个阴影,例如y =x²。在gnuplot中,像这样的
实现了某种类型plot -x**2 with filledcurves x1
产生以下图表:
现在想象一下,出于某种原因,你想要限制y轴的范围,以便最大限度地限制y轴的范围。值是-10。然后
set yrange [*:-10]
plot -x**2 with filledcurves x1
产生以下结果:
看起来很可怕。即使您要求gnuplot对曲线和x轴之间的区域进行着色,但是图形外部的曲线部分未被渲染的事实会阻止这种情况正常发生。
你是如何解决的?回答如下。
答案 0 :(得分:2)
要解决此问题,您需要一个条件图,当原始函数位于图形区域之外时,将曲线转换为y = -10:
set yrange [*:-10]
plot -x**2 <= -10 ? -x**2 : -10 with filledcurves x1
给出了期望的结果:
请注意,如果没有进一步的样式,阴影区域会覆盖轴抽搐和标题文本,但这是另一回事。
我希望这可以帮助一些人。