2014-01-14 70 views
2

我正要在这里问这个问题,但在这之前一分钟,我想如何解决问题。由于我认为其他人可能会遇到同样的问题,我回答我自己的问题。当曲线退出图形区域时,gnuplot中的填充区域消失

想象一下,您想绘制一条曲线和一个阴影,例如y =x²。在gnuplot的,那种东西是意识到这样的

plot -x**2 with filledcurves x1 

这将产生如下图:

-x²

现在想象一下,由于某些原因要限制y轴的范围,最大。值是-10。然后

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

产生如下:

-x² with restricted y range

这看起来很可怕。即使您要求gnuplot遮蔽曲线和x轴之间的区域,但图形外部的曲线部分未呈现的事实可以防止这种情况发生。

你如何解决它?下面回答。

+1

这是修剪代码中的一个错误,它在开发版本中已修复。不幸的是,这不会在4.6分支的即将发布的补丁级别中出现,而只会在下一个稳定的主要版本中提供。 – Christoph

回答

2

要解决此问题,需要一个条件情节,轮流曲线成Y = -10时的原始功能是曲线图区域之外:

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

其给出所期望的结果:

-x² nicely plotted

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

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