fill_between不能持续填充

时间:2014-10-04 15:29:53

标签: python-3.x matplotlib

我使用的是python 3.4.1,matplotlib 1.4,ipython 2.3 notebook,Arch Linux。

我试图通过一条线将平面划分为两部分,例如两个分类区域,其中一个区域有一个值,另一个区域有其他值。我对区间[-1,1] x [-1,1]中的区域感兴趣。

以下是一切正常的例子:

import numpy as np
import matplotlib.pyplot as plt
a, b = (2.5711100440212684, -0.87718711444141584)
x = np.arange(-1, 1, 0.001)
y1 = a*x + b
y2 = -1
y3 = 1
plt.fill_between(x, y1, y2, where=y1>y2, facecolor='green', interpolate=True)
plt.fill_between(x, y1, y3, where=y1<y3, facecolor='yellow', interpolate=True)
plt.axis([-1, 1, -1, 1])

这段代码给了我一张照片,我认为它应该: enter image description here

另一方面,如果我稍微改变斜率,这就是我得到的:

import numpy as np
import matplotlib.pyplot as plt
a, b = (4.5711100440212684, -0.87718711444141584)
x = np.arange(-1, 1, 0.001)
y1 = a*x + b
y2 = -1
y3 = 1
plt.fill_between(x, y1, y2, where=y1>y2, facecolor='green', interpolate=True)
plt.fill_between(x, y1, y3, where=y1<y3, facecolor='yellow', interpolate=True)
plt.axis([-1, 1, -1, 1])

enter image description here

我可能错过了一些东西。如果有人发现错误,请告诉我。

编辑:哦,是的,绿色填充似乎适用于所有坡度值。

1 个答案:

答案 0 :(得分:1)

它对我有用。使用Matplotlib每晚构建,Ubuntu 14.04,Python 3.4,,但从控制台运行。你也尝试过吗?

enter image description here