当前位置:  开发笔记 > 编程语言 > 正文

Python的matplotlib.pyplot.quiver如何正常工作?

如何解决《Python的matplotlib.pyplot.quiver如何正常工作?》经验,为你挑选了1个好方法。

我试图了解NumPy模块中的箭头功能是如何工作的.据推测,它允许以图形方式显示两个阵列的值,例如水平和垂直速度.我有以下非常简单的例子,但我只是为了看看你是否可以帮助我找出我做得不好的事情来展示它:

x = np.linspace(0,1,11)
y = np.linspace(1,0,11)
u = v = np.zeros((11,11))
u[5,5] = 0.2

plt.quiver(x, y, u, v)

代码生成下图:

http://imgur.com/Rg3ZoHl

如您所见,箭头不是箭头,而是一条线,它长于0.2.我的目的是得到一个长度为0.2的箭头,我想我可以用它来做quiver.可能吗?或者我应该更好地使用另一个命令?



1> Mike Müller..:

matplotlib箭袋自动缩放.将比例设置为1在x和y中得到0.2个单位:

x = np.linspace(0,1,11)
y = np.linspace(1,0,11)
u = v = np.zeros((11,11))
u[5,5] = 0.2

plt.quiver(x, y, u, v, scale=1)

在此输入图像描述

如果未设置scale,matplotlib将根据平均向量长度和向量数使用自动缩放算法.由于你只有一个长度大于零的向量,它变得非常大.添加更多矢量使箭头连续变小.

要使箭头具有相同的x和y扩展名,需要进行一些调整:

x = np.linspace(0,1,11)
y = np.linspace(1,0,11)
u = v = np.zeros((11,11))
u[5,5] = 0.2

plt.axis('equal')
plt.quiver(x, y, u, v, scale=1, units='xy')

两个轴必须相等,并且需要将单位设置为xy.

在此输入图像描述

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有