# How to Create a Quiver Plot in Matplotlib (With Examples)

quiver plot is a type of plot that displays arrows with directional components U and V at the Cartesian coordinates specified by X and Y.

We can easily create a quiver plot in Matplotlib by using the quiver() function, which uses the following syntax:

quiver(x, y, u, v)

where:

• x: The x-coordinates of the arrow locations
• y: The y-coordinates of the arrow locations
• u: The x components of the arrow vectors
• v: The y components of the arrow vectors

This tutorial provides several examples of how to use this function in practice.

### Example 1: Quiver Plot with One Arrow

The following code shows how to display a quiver plot with just one arrow:

```import matplotlib.pyplot as plt

#define plots
fig, ax = plt.subplots()

#define coordinates and directions
x = 0
y = 0
u = 15
v = 3

#create quiver plot
ax.quiver(x, y, u, v)

#display quiver plot
plt.show()
``` ### Example 2: Quiver Plot with Two Arrows

The following code shows how to display a quiver plot with two arrows:

```import matplotlib.pyplot as plt

#define plots
fig, ax = plt.subplots()

#define coordinates and directions
x = [0, 0]
y = [0, 0]
u = [0, 1]
v = [-2, 0]
#create quiver plot
ax.quiver(x, y, u, v, scale = 10)

#display quiver plot
plt.show()``` Note that the scale argument scales the arrows to be longer, which makes them easier to view on the plot.

### Example 3: Quiver Plot with a Mesh Grid

The following code shows how to display a quiver plot using a mesh grid:

```import matplotlib.pyplot as plt
import numpy as np

#define plots
fig, ax = plt.subplots()

#define coordinates and directions
x,y = np.meshgrid(np.arange(-2, 2, .1), np.arange(-2, 2, .1))
z = x*np.exp(-x**2 - y**2)
v, u = np.gradient(z, .1, .1)

#create quiver plot
ax.quiver(x, y, u, v)

#display quiver plot
plt.show()``` You can find the complete documentation for the quiver() function here.