我怀疑,问题出在你x
和y
数组上.从该streamplot
文档:
x,y:1d数组
的均匀间隔的网格.
你x
和y
坐标的间距不均匀(在y
坐标的情况下,它们也是单调递减而不是增加).
为了使用streamplot
您绘制数据,您需要将其重新采样到常规2D网格上.例如,您可以使用scipy.interpolate.interp2d
:
from scipy.interpolate import interp2d # regularly spaced grid spanning the domain of x and y xi = np.linspace(x.min(), x.max(), x.size) yi = np.linspace(y.min(), y.max(), y.size) # bicubic interpolation uCi = interp2d(x, y, uC)(xi, yi) vCi = interp2d(x, y, vC)(xi, yi) plt.streamplot(xi, yi, uCi, vCi)