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

时间:2014-01-14 16:17:48

标签: plot gnuplot

我正要在这里提出这个问题,但在做之前一分钟我想出了如何解决这个问题。由于我认为其他人可能遇到过同样的问题,我会回答我自己的问题。

想象一下,你想在它下面绘制一条曲线和一个阴影,例如y =x²。在gnuplot中,像这样的

实现了某种类型
plot -x**2 with filledcurves x1

产生以下图表:

-x²

现在想象一下,出于某种原因,你想要限制y轴的范围,以便最大限度地限制y轴的范围。值是-10。然后

set yrange [*:-10]
plot -x**2 with filledcurves x1

产生以下结果:

-x² with restricted y range

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

你是如何解决的?回答如下。

1 个答案:

答案 0 :(得分:2)

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

set yrange [*:-10]
plot -x**2 <= -10 ? -x**2 : -10 with filledcurves x1

给出了期望的结果:

-x² nicely plotted

请注意,如果没有进一步的样式,阴影区域会覆盖轴抽搐和标题文本,但这是另一回事。

我希望这可以帮助一些人。