GeeksforGeeks App
Open App
Browser
Continue

# matplotlib.patches.Rectangle in Python

Matplotlib is an amazing visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack.

## matplotlib.patches.Rectangle

The matplotlib.patches.Rectangle class is used to rectangle patch to a plot with lower left at xy = (x, y) with specified width, height and rotation angle.

Syntax: class matplotlib.patches.Rectangle(xy, width, height, angle=0.0, **kwargs)

Parameters:

• xy: Lower left point to start the rectangle plotting
• width : width of the rectangle
• height: Height of the rectangle.
• angle: Angle of rotation of the rectangle.

The below table has a list of valid kwargs;

PROPERTYDESCRIPTION
agg_filtera filter function that takes a (m, n, 3) float array and a dpi value that returns a (m, n, 3) array
alphafloat or None
animatedbool
antialiased or aaunknown
capstyle{‘butt’, ’round’, ‘projecting’}
clip_boxBbox
clip_onbool
clip_path[(Path, Transform)|Patch|None]
colorcolor or sequence of rgba tuples
containscallable
edgecolor or ec or edgecolorscolor or None or ‘auto’
facecolor or fc or facecolorscolor or None
figurefigure
fillbool
gidstr
hatch{‘/’, ‘\’, ‘|’, ‘-‘, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’}
in_layoutbool
joinstyle{‘miter’, ’round’, ‘bevel’}
linestyle or ls{‘-‘, ‘–‘, ‘-.’, ‘:’, ”, (offset, on-off-seq), …}
linewidth or linewidths or lwfloat or None
path_effectsAbstractPathEffect
pickerNone or bool or float or callable
path_effectsAbstractPathEffect
pickerfloat or callable[[Artist, Event], Tuple[bool, dict]]
rasterizedbool or None
sketch_params(scale: float, length: float, randomness: float)
snapbool or None
transformmatplotlib.transforms.Transform
urlstr
visiblebool
zorderfloat

Example 1:

 import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.patches import Rectangle    # The imageX = np.arange(16).reshape(4, 4)  # highlight some feature in the# middle boxes.fig = plt.figure()  ax = fig.add_subplot(111)ax.imshow(X, cmap = plt.cm.gray,          interpolation ='nearest')ax.add_patch( Rectangle((0.5, 0.5),                        2, 2,                        fc ='none',                         ec ='g',                        lw = 10) )  plt.show()

Output:

Example 2:

 import matplotlibimport matplotlib.pyplot as plt    fig = plt.figure()ax = fig.add_subplot(111)  rect1 = matplotlib.patches.Rectangle((-200, -100),                                     400, 200,                                     color ='green')  rect2 = matplotlib.patches.Rectangle((0, 150),                                     300, 20,                                     color ='pink')  rect3 = matplotlib.patches.Rectangle((-300, -50),                                     40, 200,                                     color ='yellow')  ax.add_patch(rect1)ax.add_patch(rect2)ax.add_patch(rect3)  plt.xlim([-400, 400])plt.ylim([-400, 400])  plt.show()

Output:

My Personal Notes arrow_drop_up