数据可视化实操2-5-2

使用椭圆绘制圆

  • 一般而言,我们可以使用类Ellipse绘制圆,但是不可以使用类Circle绘制椭圆。
  • 因为我们使用类Ellipse绘制圆,只需要保证参数width和height的取值相同而且刻度线的变化量相同即可完成圆的绘制任务。如果参数width和height的取值相同,但是刻度线的变化量不一致,则也可以使用类Circle完成绘制椭圆的任务。
  • 我们使用类Circle绘制椭圆,如果参数width和height的取值不相同,就无法完成使用类Circle绘制椭圆的工作。
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()

数据可视化实操2-5-2_第1张图片

你可能感兴趣的:(数据可视化,Python)