To draw multiple circles on one Matplotlib plot, create a Circle patch for each center and radius, then add the patches to an Axes. For shared styling or numeric color mapping, group them in a PatchCollection. Set an equal aspect ratio when the circles must look geometrically round rather than stretched.
Plot multiple circles on one set of axes
Each matplotlib.patches.Circle is defined by a center coordinate and a radius. Add the patches individually when you want direct control over a modest number of circles:
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
circles = [
((0, 0), 0.4),
((1, 1), 0.7),
((2, 0), 0.5),
]
fig, ax = plt.subplots()
for center, radius in circles:
ax.add_patch(Circle(center, radius, facecolor="tab:blue", alpha=0.5))
ax.set_aspect("equal")
ax.autoscale_view()
plt.show()
The tuple for each circle is (center, radius); the center is an (x, y) pair. Coordinates and radii use the axes’ data units. The official Matplotlib gallery demonstrates constructing circle patches from coordinates and adding shape patches to an axes: Circles, Wedges and Polygons.
Use a PatchCollection for shared styling or value-based colors
A PatchCollection groups patches so they can be styled together and, when supplied with numeric values, colored through a colormap. The following example assigns each circle a value and connects the mapped colors to a labeled colorbar:
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- Ideal for graphing, charts and engineering projects.
- 1-subject notebook. 100 double-sided, graph ruled sheets. 4 squares per inch.
- Sheets measure 8-1/2 in. x 11 in. when torn out. Overall notebook size is 11 in. x 9-3/4 in. Tough pockets help prevent tears and hold 8-1/2 in. x 11 in. loose sheets.
- High-grade paper fights ink bleed. Perforated pages for easy tear out. Front cover is water-resistant to help protect your notes all year.
- Spiral Lock wire helps prevent snags on clothes and backpacks. Made with SFI approved paper. Recyclable - remove reinforcement tape on pocket and recycle the rest.
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
from matplotlib.collections import PatchCollection
centers = [(0, 0), (1, 1), (2, 0)]
radii = [0.4, 0.7, 0.5]
values = [10, 25, 15]
fig, ax = plt.subplots()
circles = [Circle(center, radius) for center, radius in zip(centers, radii)]
collection = PatchCollection(circles, alpha=0.5, cmap="viridis")
collection.set_array(values)
ax.add_collection(collection)
ax.set_aspect("equal")
ax.autoscale_view()
fig.colorbar(collection, ax=ax, label="Value")
plt.show()
The values and coordinates above are illustrative; replace them with data of matching lengths. Matplotlib’s gallery example uses a collection for circles, wedges, and polygons, maps an array to colors, and adds a colorbar: Circles, Wedges and Polygons. Collections also expose shared face-color, edge-color, linewidth, and linestyle settings; see the collections API reference.
Choose color to match the data
- Categories: assign a distinct face color to each category and provide a legend or direct labels so the colors are interpretable.
- Numeric values: set the collection’s array and use a colormap; label the colorbar with the quantity and units, if applicable.
- Outline-focused plots: style edge colors and linewidths, and use transparent or unfilled faces where appropriate.
A circle’s radius and area do not encode quantities in the same way: area increases with the square of radius. If size represents a value, state whether the mapping is to radius or area so readers can interpret the plot correctly.
Rank #2
- 1 subject notebook comes with 100 graph ruled, double-sided sheets with 5 squares per inch
- Sheets measure 7-1/2" x 10-1/2" when torn out with an overall size of 8" x 10-1/2". Perforation easily tears out with clean edges.
- Graph ruling is ideal for plotting graphs, drawing curves and more. Notebook is 3-hole punched to store in your favorite binder.
- Covers are coated for durability and have writable label on front cover. Available in Black.
- Assembled in U.S.A. with U.S. and foreign parts
Keep circles round with equal aspect
Matplotlib axes may scale the x and y directions differently to fit the available drawing area. When that happens, a circle can appear elliptical. Use ax.set_aspect("equal") so one data unit has the same displayed length on both axes. The Matplotlib gallery includes examples of equal axis aspect and other plotting layouts: Examples.
Choose one axes or separate panels
Use one axes when circles share coordinates
Plot circles together when their positions, overlap, or relative placement belong to one coordinate system. Keep them on the same axes and use consistent scales so spatial relationships remain meaningful.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallRank #3
- 1 subject notebook comes with 100 graph ruled, double-sided sheets with 5 squares per inch
- Sheets measure 7-1/2" x 10-1/2" when torn out with an overall size of 8" x 10-1/2". Perforation easily tears out with clean edges.
- Graph ruling is ideal for plotting graphs, drawing curves and more. Notebook is 3-hole punched to store in your favorite binder.
- Covers are coated for durability and have writable label on front cover. Available in Green.
- Assembled in U.S.A. with U.S. and foreign parts
Use subplots for separate datasets or conditions
When each circle plot represents a different dataset or condition, create separate axes with plt.subplots. If size or position is meant to be compared across panels, use comparable axis limits and aspect settings:
fig, axes = plt.subplots(1, 2, figsize=(8, 4))
for ax, centers in zip(axes, datasets):
for center, radius in circles_for(centers):
ax.add_patch(Circle(center, radius))
ax.set_aspect("equal")
ax.set_xlim(-1, 4)
ax.set_ylim(-1, 3)
plt.show()
Here, datasets and circles_for stand for the data and conversion logic in your program. Matplotlib’s examples gallery covers subplot layouts and plt.subplots.
Rank #4
- LASTS ALL YEAR. GUARANTEED!* Water resistant covers protect your notes all year.
- High-quality paper resists ink bleed** so notes stay clear and legible. Notebook has 100 graph ruled sheets, 4 squares per inch.
- Includes storage pocket to hold loose sheets from the notebook. Patented, reinforced storage pocket helps prevent tears.***
- Spiral Lock wire prevents coil snags so it won’t get caught on your clothes or backpack. The Neat Sheet perforated pages easily tear out with clean edges.
- Perforated sheets measure 11" x 8-1/2" when torn out. Overall size of 11" x 9 1/8". Available in Teal.
Common plotting problems
- Circles look stretched: set equal aspect on the axes.
- Some circles are clipped: ensure the view limits include each center plus or minus its radius. After adding patches,
ax.autoscale_view()is a convenient way to update the view. - The colorbar is blank or misleading: confirm the collection has a numeric array via
set_array, and label the colorbar to identify the encoded variable. - Circle sizes are hard to compare across panels: align the relevant x/y limits and aspect settings across those axes.
The cited stable Matplotlib documentation displayed version 3.11.2 when reviewed; the stable pages are rolling documentation, so labels and examples may change over time.
Quick Recap
Best Value
- SUNEE 1 SUBJECT NOTEBOOK: Single subject spiral notebook with 100 sheets/200 Pages of graph paper, you'll have plenty of space for notes and assignments. Get the best value with our graph paper notebook and stay organized.
- GRAPH NOTEBOOK: Each 8" x 10-1/2" grid notebook features 100 double-sided sheets with red margin lines and is 3-hole punched, easily transfer to your favorite binder. It's the ideal grid paper notebook for all your academic and professional needs.
- 3-HOLE PUNCHED DESIGN: Designed with 3-hole punched graph paper, this math notebook integrates seamlessly into standard binders; Perfect for who need to keep their notes organized in one place, notebook grid clutter in your study or work area.
- CLEAN TEAR-OUT: Micro-perforated pages ensure a neat tear-out, leaving you with 10 1/2" x 7 1/2" sheets. Accommodates double-sided writing. Sunee graph paper spiral notebook offers premium quality at an affordable price. A graphing notebook is perfect for students, teachers, and professionals.
- DURABLE & FUNCTIONAL DESIGN: Water-resistant plastic cover provides extra protection, making this spiral graph paper notebook ideal for on-the-go, frequent transfers in and out of backpacks, briefcases, and vehicles. The double-sided pockets are great for storing loose papers and handouts, making this one subject graph spiral notebook a practical choice for students and professionals.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →




