English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

رسوم الأسهم الثنائية في Matplotlib

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

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ar.oldtoolbag.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 w3codebox
# Author by : ar.oldtoolbag.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()

إذا قمت بتشغيل الشيفرة المقدمة أعلاه، فستحصل على النتيجة التالية -