I'm confused. I was going to recommend numpy.seterr(all='ignore')
before I read this, maybe wrapping plot to restore the original state
after the call.. but now I'm not sure what kind of solution you want.
:^)
In this case, the problem is being caused by the default parameters in
plot_slope_field. If you override headlength=0 with some small
number, there's no problem. IOW,
P=plot_slope_field(g,(x,3,4),(y,-1,1),headlength=1e-8)
works for me. FYI, it's the following few lines in Quiver._h_arrows at fault:
minsh = self.minshaft * self.headlength
[....]
shrink = length/minsh
X0 = shrink * X0[np.newaxis,:]
Y0 = shrink * Y0[np.newaxis,:]
Probably we should change the defaults and/or (if it's not done
already) ask our matplotlib friends to special-case 0 for no
arrowheads.
Does that help?
Doug