Matplotlib二維箭頭圖


箭頭圖將速度向量顯示為箭頭,其中分量(u,v)位於點(x,y)

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坐標

以下程式碼繪製了一個簡單的箭袋圖 -

#! /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()

執行上面範例程式碼,得到以下結果 -