Matplotlib 二维箭头图

箭头图将速度矢量显示为箭头,其中分量(u,v)位于点(x,y)。

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.cainiaojc.com
# Date : 2020-08-08
quiver(x,y,u,v)

上述命令将矢量绘制为在x和y中每个对应元素对中指定的坐标处的箭头。

参数

下表列出了quiver()函数的参数 -

x - 1D或2D阵列,序列。箭头位置的x坐标 y - 1D或2D阵列,序列。箭头位置的y坐标 u - 1D或2D阵列,序列。箭头矢量的x分量 v - 1D或2D阵列,序列。箭头矢量的y分量 c - 1D或2D阵列,序列。箭头位置的x坐标

以下代码绘制了一个简单的箭袋图 -

# Filename : example.py
# Copyright : 2020 By Nhooo
# Author by : www.cainiaojc.com
# Date : 2020-08-08
#! /usr/bin/env python
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import math
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False # 原文出自【立地货】,商业转载请联系作者获得授权,非商业请保留原文链接:
x,y = np.meshgrid(np.arange(-2, 2, .2), np.arange(-2, 2, .25))
z = x*np.exp(-x**2 - y**2)
v, u = np.gradient(z, .2, .2)
fig, ax = plt.subplots()
q = ax.quiver(x,y,u,v)
plt.show()

执行上面示例代码,得到以下结果 -

执行代码结果