我正在尝试使用 streamplot 函数来绘制速度场,但由于某种原因它失败了。这是一个关于该函数的原始 SO 帖子,带有一个示例:如何绘制流线,当我知道速度的 u 和 v 分量(numpy 2d 数组)时,使用 python 中的绘图程序?. 这个例子对我来说很好;但是,我尝试修改这些值以简化函数并模仿初始条件,现在它不再起作用了。
这是我的“简化”代码:
import matplotlib.pyplot as plt
import numpy as np
from streamplot import streamplot
x = np.linspace(0, 1, 10)
y = np.linspace(0, 2, 10)
u = np.zeros((len(x), len(y)))
v = np.zeros((len(x), len(y)))
u[:,len(y)-1]=1
speed = np.sqrt(u*u + v*v)
plt.figure()
plt.subplot(121)
streamplot(x, y, u, v,density=1, INTEGRATOR='RK4', color='b')
plt.subplot(122)
streamplot(x, y, u, v, density=(1,1), INTEGRATOR='RK4', color=u,
linewidth=5*speed/speed.max())
plt.show()
任何建议或帮助表示赞赏。