Skip to content
Related Articles

Related Articles

Improve Article

Matplotlib.patches.CirclePolygon class in Python

  • Last Updated : 27 Apr, 2020

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.CirclePolygon

The matplotlib.patches.CirclePolygon class is used for polygon-approximation of a circle patch. It is used to make a circle at xy = (x, y) with a radius that has been provided. A regular polygon with resolution sides is approximated with this circle.

Syntax: class matplotlib.patches.CirclePolygon(xy, radius=5, resolution=20, **kwargs)

Parameters:

  • xy: The origin coordinate of the circle to be drawn.
  • radius: It’s an optional parameter that is used to set the radius of the circle.It defaults to 5 units.
  • resolution: As the name suggest it is used to set the image resolution. It is optional and defaults to 20.

Below table provides with the optional 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 matplotlib.pyplot as plt
from matplotlib.patches import CirclePolygon
  
  
circle = CirclePolygon((0, 0), 
                       radius = 0.75,
                       fc = 'y')
  
plt.gca().add_patch(circle)
  
verts = circle.get_path().vertices
trans = circle.get_patch_transform()
points = trans.transform(verts)
  
plt.plot(points[:, 0], points[:, 1])
plt.axis('scaled')
  
plt.show()

Output:

Example 2:




import numpy as np
import matplotlib
from matplotlib.patches import Circle, Wedge, Polygon, Ellipse
from matplotlib.collections import PatchCollection
import matplotlib.pyplot as plt
import matplotlib.patches as matpatches
  
  
fig, ax = plt.subplots(figsize =(8, 8))
patches = []
  
  
circle = Circle((2, 2), 2)
patches.append(circle)
  
  
  
polygon = matpatches.PathPatch(patches[0].get_path())
patches.append(polygon)
  
  
colors = 2 * np.random.rand(len(patches))
p = PatchCollection(patches, 
                    cmap = matplotlib.cm.jet,
                    alpha = 0.4)
  
p.set_array(np.array(colors))
ax.add_collection(p)
  
plt.axis([-10, 10, -10, 10])
  
plt.show()

Output:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :