Open In App

Matplotlib.patches.CirclePolygon class in Python

Last Updated : 27 Apr, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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 ;

PROPERTY DESCRIPTION
agg_filter a filter function that takes a (m, n, 3) float array and a dpi value that returns a (m, n, 3) array
alpha float or None
animated bool
antialiased or aa unknown
capstyle {‘butt’, ’round’, ‘projecting’}
clip_box Bbox
clip_on bool
clip_path [(Path, Transform)|Patch|None]
color color or sequence of rgba tuples
contains callable
edgecolor or ec or edgecolors color or None or ‘auto’
facecolor or fc or facecolors color or None
figure figure
fill bool
gid str
hatch {‘/’, ‘\’, ‘|’, ‘-‘, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’}
in_layout bool
joinstyle {‘miter’, ’round’, ‘bevel’}
linestyle or ls {‘-‘, ‘–‘, ‘-.’, ‘:’, ”, (offset, on-off-seq), …}
linewidth or linewidths or lw float or None
path_effects AbstractPathEffect
picker None or bool or float or callable
path_effects AbstractPathEffect
picker float or callable[[Artist, Event], Tuple[bool, dict]]
rasterized bool or None
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
transform matplotlib.transforms.Transform
url str
visible bool
zorder float

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:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads