我使用的是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])
这段代码给了我一张照片,我认为它应该:
另一方面,如果我稍微改变斜率,这就是我得到的:
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])
我可能错过了一些东西。如果有人发现错误,请告诉我。
编辑:哦,是的,绿色填充似乎适用于所有坡度值。
答案 0 :(得分:1)
它对我有用。使用Matplotlib每晚构建,Ubuntu 14.04,Python 3.4,,但从控制台运行。你也尝试过吗?