Matplotlib.pyplot.barbs() in Python
Last Updated :
21 Apr, 2020
Improve
Matplotlib is a library of Python bindings which provides the user with a MATLAB-like plotting framework. Matplotlib can be used in Python scripts, the Python and IPython shell, web application servers, and various graphical user interface toolkits like Tkinter, awxPython, etc.
Note: For more information, refer to Python Matplotlib – An Overview
Python3 1==
Output :
Matplotlib.pyplot.barbs()
matplotlib.pyplot.barbs
method is used to plot a 2D field of barbs.
What are barbs?
Barbs are used majorly in meteorology to plot the speed and direction of winds, but can be used to plot any two-dimensional vector quantity. Barbs are able to provide more precise and quantitative information about vector magnitude when compared to arrows. This is mainly because arrows use their length to give a sense of the magnitude of the vector, while barbs use triangles or slanted lines as shown below:/\ \ / \ \ / \ \ \ / \ \ \ ------------------------------
- The largest increment in magnitude is denoted by a triangle (or flag)
- The smallest increment is a half-line
Syntax : matplotlib.pyplot.barbs(x_coordinate, y_coordinate, x_direction, y_direction, [colour]) Parameters: x_coordinate : x-coordinate of the barb location (may be a 2-dimensional array in case of multiple barbs) y_coordinate : y-coordinate of the barb location (may be a 2-dimensional array in case of multiple barbs) x_direction : x-component of the direction of barb shaft (may be a 2-dimensional array in case of multiple barbs) y_direction : y-component of the direction of the barb shaft (may be a 2-dimensional array in case of multiple barbs) colour (optional): specifies the colour of the barb in the graph Optional Parameters length : length of the barb in points, other parts of the barb are scaled against this pivot : part of the barb anchored to the grid; the barb rotates about this point. Maybe a number, which shifts the barb that many points away from the grid point Return Value : Returns a 2D graph with arrows plottedNote :
- If the x-coordinate and y-coordinate of the barb locations are not given, they will be generated as a uniform integer meshgrid based on x_direction and y_direction
- If x-coordinate and y-coordinate are one-dimensional but x_direction and y_direction are two-dimensional, then x-coordinate and y-coordinate would be expanded to a two-dimensional meshgrid using
x, y=numpy.meshgrid(x, y)
. In this case, the lengths of x-coordinate and y-coordinate must match the row and column dimensions of x_direction and y_direction
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-5, 5, 5)
X, Y = np.meshgrid(x, x)
U, V = 12 * X, 12 * Y
data = [(-1.5, .5, -6, -6),
(1, -1, -46, 46),
(-3, -1, 11, -11),
(1, 1.5, 80, 80),
(0.5, 0.25, 25, 15),
(-1.5, -0.5, -5, 40)]
data = np.array(data, dtype=[('x', np.float32),
('y', np.float32),
('u', np.float32),
('v', np.float32)])
plt.barbs(X, Y, U, V)
