Python画圆常用matplotlib和turtle:matplotlib用patches.Circle添加圆形补丁并设ax.set_aspect('equal')防变形;turtle直接调用circle()方法;进阶可用numpy生成极坐标点集绘制。

Python 画圆主要靠绘图库,最常用的是 matplotlib 和 turtle。两者适用场景不同:matplotlib 适合数据可视化、静态图像;turtle 更适合教学、动画或简单几何绘制。
用 matplotlib 画圆(推荐用于图表)
matplotlib 本身不直接提供“画圆函数”,但可以用 plt.Circle 创建圆形补丁(Patch),再添加到坐标系中。
- 需要先导入
matplotlib.pyplot和matplotlib.patches.Circle - 设置坐标轴等比例(
ax.set_aspect('equal')),否则圆会变成椭圆 - 圆心坐标、半径、颜色、是否填充都可自定义
示例代码:
import matplotlib.pyplot as plt import matplotlib.patches as patchesfig, ax = plt.subplots() circle = patches.Circle((0, 0), radius=1, edgecolor='blue', facecolor='lightblue', linewidth=2) ax.add_patch(circle) ax.set_xlim(-1.5, 1.5) ax.set_ylim(-1.5, 1.5) ax.set_aspect('equal') # 关键:保持纵横比一致 plt.grid(True) plt.show()
用 turtle 画圆(适合初学/动画)
turtle 提供了直接的 circle() 方法,使用简单直观。
立即学习“Python免费学习笔记(深入)”;
-
turtle.circle(r):以当前方向为切线,向左画半径为 r 的圆 - 可加参数控制角度(如
circle(50, 180)画半圆)和步数(影响平滑度) - 记得调用
turtle.done()保持窗口不关闭
示例代码:
import turtlet = turtle.Turtle() t.circle(100) # 画半径100的圆 turtle.done()
进阶:用 numpy + matplotlib 绘制圆的点集
如果想手动计算圆上一系列点(比如做轨迹、拟合或叠加其他图形),可用极坐标转直角坐标:
- 生成角度数组:
theta = np.linspace(0, 2*np.pi, 100) - 计算 x、y:
x = xc + r * np.cos(theta),y = yc + r * np.sin(theta) - 再用
plt.plot(x, y)连线
这种方式更灵活,便于后续数学操作或动态更新。











