Python画圆常用matplotlib和turtle:matplotlib用patches.Circle添加圆形补丁并设ax.set_aspect('equal')防变形;turtle直接调用circle()方法;进阶可用numpy生成极坐标点集绘制。
Python 画圆主要靠绘图库,最常用的是 matplotlib 和 turtle。两者适用场景不同:matplotlib 适合数据可视化、静态图像;turtle 更适合教学、动画或简单几何绘制。
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 提供了直接的 circle() 方法,使用简单直观。
turtle.circle(r):以当前方向为切线,向左画半径为 r 的圆circle(50, 180) 画半圆)和步数(影响平滑度)turtle.done() 保持窗口不关闭示例代码:
import turtlet = turtle.Turtle() t.circle(100) # 画半径100的圆 turtle.done()
如果想手动计算圆上一系列点(比如做轨迹、拟合或叠加其他图形),可用极坐标转直角坐标:
theta = np.linspace(0, 2*np.pi, 100)
x = xc + r * np.cos(theta),y = yc + r * np.sin(theta)
plt.plot(x, y) 连线这种方式更灵活,便于后续数学操作或动态更新。