Python 箭袋选项

1 python vector matplotlib

用 Python 制作的矢量图

我正在解决盖子驱动的腔体流动问题。为了创建图形,我选择了 Python,因为它是我所知道的唯一具有这种功能的语言。对于图中,我必须绘制流线和矢量箭头。见图。

这是有问题的代码行: plt.quiver(x, y, u, v, color='black', headwidth=1, scale = 10, headlength=4)

我的问题是黑色矢量箭头的大小,而不是蓝色流线的大小。我想要更大的矢量箭头,但箭头密度更小。无论如何我可以在Python中做到这一点吗?我在其他地方没有看到过这种情况。

And*_*eak 5

根据此处提供答案,您可以使用 strides 将输入数组修剪quiverx[::2,::2]仅使用数组的第二个元素。为了节省一些写作,您可以定义 aslice来为您完成大部分符号:

skip=(slice(None,None,2),slice(None,None,2))
plt.quiver(x[skip], y[skip], u[skip], v[skip], color='black', headwidth=1, scale = 10, headlength=4)
Run Code Online (Sandbox Code Playgroud)

这将使用每隔一个数据点。显然,对于不同的稀化因子,请更改 定义中的整数skip

的自动箭头缩放plt.quiver应该为您完成大部分工作,您只需要找到一个令人满意的输入点密度。