我有一个128x128矢量场,我想用它来绘制python中的流线。我有两个坐标数组,x1和x2,以及两个矢量组件数组,b1和b2。当我天真地将它们插入streamplot时,即
plt.streamplot(x1, x2, b1, b2, color='k', linewidth=2)
我收到一个非描述性错误,结论为
/usr/lib/pymodules/python2.7/matplotlib/streamplot.pyc in __init__(self, x, y)
252 if len(x.shape) == 2:
253 x_row = x[0]
--> 254 assert np.allclose(x_row, x)
255 x = x_row
256 else:
AssertionError:
如果我从mgrid构造坐标变量,我可以制作一个streamplot,如示例所示(此处修改的边界)
Y, X = np.mgrid[x1[0][0]:x1[127][0]:128j, x2[0][0]:x2[0][127]:128j]
但是,如果我尝试通过切换streamplot()中的输入来纠正该问题,那么在制作绘图时这似乎总是要翻转x和y轴,或者导致类似于上面的错误。此外,我希望能够使用streamplot作为非均匀坐标,我认为这将排除使用mgrid。任何帮助将不胜感激。