To plot the 2D field of arrows, we use the Quiver plot in the matplotlib library.
- This plot mainly helps in displaying the velocity vectors as arrows having components
(u,v)
at the points(x,y)
. - The Quiver plots are useful for Electrical engineers to visualize electrical potential and for Mechanical engineers to show stress gradients.
Creating Matplotlib Quiver Plot
In order to create a Quiver Plot the ax.quiver()
function is used.
The required syntax to use this function is as follows:
ax.quiver(x_pos, y_pos, x_dir, y_dir, color)
Following are the parameters of this function, which you can see above in the syntax:
- x_pos and y_posThese two parameters of the function are used to indicate the starting position of the arrows.
- x_dir and y_dirThese two parameters of the function are used to indicate the directions of the arrows.
- colorThis parameter is used to specify the color of the Quiver Plot.
Let us now dive into some examples related to this.
Simple Quiver Plot Example:
In the example given below, we will cover how to plot a Quiver plot with a single arrow:
import numpy as np
import matplotlib.pyplot as plt
x_pos = 0
y_pos = 0
x_direct = 1
y_direct = 1
fig, ax = plt.subplots(figsize = (10, 7))
ax.quiver(x_pos, y_pos, x_direct, y_direct)
ax.set_title('Quiver plot with a single arrow')
plt.show()
Here is the output:
Two Arrow Quiver Plot Example:
In the example given below, we will cover how to plot a Quiver plot with two arrows:
import numpy as np
import matplotlib.pyplot as plt
x_pos = [0, 0]
y_pos = [0, 0]
x_direct = [1, 0]
y_direct = [1, -1]
fig, ax = plt.subplots(figsize = (12, 7))
ax.quiver(x_pos, y_pos, x_direct, y_direct,scale = 8)
ax.axis([-1.5, 1.5, -1.5, 1.5])
plt.show()
Here is the output:
Time for Live Example!
Now we will cover a live example where we will draw the Quiver plot using meshgrid: