使用椭圆绘制圆
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Circle, Ellipse
# 通过设置subplots()中的参数subplot_kw={"aspect":"equal"}使坐标轴的刻度线的变化量相同
fig, ax = plt.subplots(1, 1, subplot_kw={"aspect":"equal"})
# 设置圆和椭圆的中心位置相同。圆的半径是1,椭圆的宽度和长度都是2
circle = Circle((2, 2), radius=1)
# 通过推导列表生成4个逆时针旋转角度的列表ellipse
angles = np.linspace(0, 135, 4)
ellipse = [Ellipse((2, 2), 2, 2, a) for a in angles]
# 使用内置函数append()将实例circle添加到推导列表ellipse中
ellipse.append(circle)
# 将列表Ellipse赋值给变量polygon
polygon = ellipse
for pln in polygon:
ax.add_patch(pln)
pln.set_alpha(np.random.rand(1))
pln.set_color(np.random.rand(3))
ax.axis([0, 4, 0, 4])
ax.set_xticks(np.arange(0, 5, 1))
ax.set_yticks(np.arange(0, 5, 1))
plt.show()