Matplotlib.patches.Circle class in Python Last Updated : 12 Jul, 2025 Comments Improve Suggest changes Like Article Like 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.Circle The matplotlib.patches.Circle class is used to create a circular patch at a given center xy = (x, y) with a given radius. It uses Bezier splines and is much closer to a scale-free circle. Syntax: class matplotlib.patches.Circle(xy, radius=5, **kwargs) parameters: xy: It is the center of the circle. radius: It sets the radius of the circle to be drawn. Its default value is 5 units and is optional. 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: Python3 1== import numpy as np from matplotlib.patches import Circle from matplotlib.collections import PatchCollection import matplotlib.pyplot as plt from matplotlib import cm from matplotlib import animation fig, ax = plt.subplots() patches = [] # create circles with random sizes # and locations N = 12 # number of circles x = np.random.rand(N) y = np.random.rand(N) radii = 0.1 * np.random.rand(N) for x1, y1, r in zip(x, y, radii): circle = Circle((x1, y1), r) patches.append(circle) # add these circles to a collection p = PatchCollection(patches, cmap = cm.prism, alpha = 0.4) ax.add_collection(p) def animate(i): # random index to color map colors = 100 * np.random.rand(len(patches)) # set new color colors p.set_array(np.array(colors)) return p, ani = animation.FuncAnimation(fig, animate, frames = 50, interval = 50) plt.show() Output: Example 2: Python3 1== 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() contain2 = patches[0].get_path().contains_points([[0.5, 0.5], [1.0, 1.0]]) contain3 = patches[0].contains_point([0.5, 0.5]) contain4 = patches[0].contains_point([1.0, 1.0]) Output: Comment More infoAdvertise with us Next Article Company Preparation R rajukumar19 Follow Improve Article Tags : Python Write From Home Python-Library Python-matplotlib Matplotlib patches-class +1 More Practice Tags : python Similar Reads Interview PreparationInterview Preparation For Software DevelopersMust Coding Questions - Company-wise Must Do Coding Questions - Topic-wiseCompany-wise Practice ProblemsCompany PreparationCompetitive ProgrammingSoftware Design-PatternsCompany-wise Interview ExperienceExperienced - Interview ExperiencesInternship - Interview ExperiencesPractice @GeeksforgeeksProblem of the DayTopic-wise PracticeDifficulty Level - SchoolDifficulty Level - BasicDifficulty Level - EasyDifficulty Level - MediumDifficulty Level - HardLeaderboard !!Explore More...Data StructuresArraysLinked ListStackQueueBinary TreeBinary Search TreeHeapHashingGraphAdvance Data StructuresMatrixStringAll Data StructuresAlgorithmsAnalysis of AlgorithmsSearching AlgorithmsSorting AlgorithmsPattern SearchingGeometric AlgorithmsMathematical AlgorithmsRandomized AlgorithmsGreedy AlgorithmsDynamic ProgrammingDivide & ConquerBacktrackingBranch & BoundAll AlgorithmsProgramming LanguagesCC++JavaPythonC#Go LangSQLPHPScalaPerlKotlinWeb TechnologiesHTMLCSSJavaScriptBootstrapTailwind CSSAngularJSReactJSjQueryNodeJSPHPWeb DesignWeb BrowserFile FormatsComputer Science SubjectsOperating SystemsDBMSComputer NetworkComputer Organization & ArchitectureTOCCompiler DesignDigital Elec. & Logic DesignSoftware EngineeringEngineering MathematicsData Science & MLComplete Data Science CourseData Science TutorialMachine Learning TutorialDeep Learning TutorialNLP TutorialMachine Learning ProjectsData Analysis TutorialTutorial LibraryPython TutorialDjango TutorialPandas TutorialKivy TutorialTkinter TutorialOpenCV TutorialSelenium TutorialGATE CSGATE CS NotesGate CornerPrevious Year GATE PapersLast Minute Notes (LMNs)Important Topic For GATE CSGATE CoursePrevious Year Paper: CS exams Like