Streamplot不在mgrid示例之外工作

时间:2014-10-11 19:29:31

标签: python numpy matplotlib

我有一个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。任何帮助将不胜感激。

0 个答案:

没有答案