【发布时间】:2016-07-13 16:18:32
【问题描述】:
我使用 u 和 v 绘制流线。我如何确定是否发生了分歧或收敛,并使用 matplotlib 在同一图中绘制这些形状?
【问题讨论】:
标签: matplotlib
我使用 u 和 v 绘制流线。我如何确定是否发生了分歧或收敛,并使用 matplotlib 在同一图中绘制这些形状?
【问题讨论】:
标签: matplotlib
你可以用任何你想要的方式为流线着色,所以得到你想要的任何形式的divergence并使用它,
import numpy as np
import matplotlib.pyplot as plt
Y, X = np.mgrid[-3:3:100j, -3:3:100j]
U = -1 - X**2 + Y
V = 1 + X - Y**2
divUV = reduce(np.add,np.gradient(U)) + reduce(np.add,np.gradient(V))
fig, ax = plt.subplots()
strm = ax.streamplot(X, Y, U, V, color=divUV, cmap=plt.cm.RdBu)
fig.colorbar(strm.lines)
plt.show()
不确定分歧是否在这里,但你明白了。或者,您可以使用透明度覆盖颜色网格,
cm = ax.pcolormesh(X, Y, divU, cmap=plt.cm.RdBu, alpha=0.4)
fig.colorbar(cm)
【讨论】: