Matplotlib:Quiver二维数组

2024-06-06 05:56:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力使用python中的quiver函数。在

我想创建一个2D数组的2D向量场,其中包含向量的两个分量。在

给定数组b:

>>> b
VigraArray(shape=(512, 512, 2), axistags=x y c, dtype=float32, data=
[[[ 0.59471679  0.51902866  0.38904327 ..., -0.56878477 -0.50834674
 -0.48382956]
[ 0.58222073  0.50713873  0.37990916 ..., -0.56091702 -0.50057167
 -0.47613338]
[ 0.53815156  0.46551338  0.34787226 ..., -0.54245669 -0.48314109
 -0.45911735]
...,

使用箭袋:

^{pr2}$

退货:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 2892, in quiver
  ret = ax.quiver(*args, **kw)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 6641, in quiver
  q = mquiver.Quiver(self, *args, **kw)
File "/usr/lib/pymodules/python2.7/matplotlib/quiver.py", line 419, in __init__
self.set_UVC(U, V, C)
File "/usr/lib/pymodules/python2.7/matplotlib/quiver.py", line 463, in set_UVC
  U = ma.masked_invalid(U, copy=False).ravel()
File "/usr/lib/python2.7/dist-packages/numpy/ma/core.py", line 3969, in ravel
  r._mask = ndarray.ravel(self._mask).reshape(r.shape)
File "/usr/lib/python2.7/dist-packages/vigra/arraytypes.py", line 1308, in reshape
  res = numpy.ndarray.reshape(self, shape, order)
TypeError: an integer is required

我在使用VigraArray和matplotlib时从来没有遇到过问题,所以我认为这不是问题所在。谢谢你的帮助!在


Tags: inpyselfmatplotliblibusrline数组