使用 Python Matplotlib 绘制椭圆

PythonPythonBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本实验演示如何使用Python Matplotlib绘制椭圆。本实验涵盖两个示例:

  • 绘制单个椭圆
  • 绘制不同角度的椭圆

    你可以在WebIDE中打开ellipse-demo.ipynb开始练习。了解如何在VS Code中使用Jupyter Notebook
    Matplotlib椭圆绘制示例
    由于Labby无法访问笔记本,因此无法自动验证答案。

导入所需库

首先,我们需要导入所需的库。我们将使用numpy生成随机数据,并使用matplotlib.pyplotmatplotlib.patches绘制椭圆。

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse

绘制单个椭圆

在这个示例中,我们将绘制许多具有随机大小、位置和颜色的椭圆。每个椭圆都将是Ellipse类的一个实例。

## 固定随机状态以确保可重复性
np.random.seed(19680801)

## 要绘制的椭圆数量
NUM = 250

## 生成椭圆
ells = [Ellipse(xy=np.random.rand(2) * 10,
                width=np.random.rand(), height=np.random.rand(),
                angle=np.random.rand() * 360)
        for i in range(NUM)]

## 创建绘图并将纵横比设置为'equal'
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})

## 将每个椭圆添加到绘图中
for e in ells:
    ax.add_artist(e)
    e.set_clip_box(ax.bbox)
    e.set_alpha(np.random.rand())
    e.set_facecolor(np.random.rand(3))

## 设置绘图的x和y轴范围
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)

## 显示绘图
plt.show()

绘制不同角度的椭圆

在这个示例中,我们将绘制许多具有不同角度的椭圆。我们将使用一个循环为每个想要绘制的角度创建一个Ellipse实例。

## 定义角度步长和要绘制的角度范围
angle_step = 45  ## 度
angles = np.arange(0, 180, angle_step)

## 创建绘图并将纵横比设置为'equal'
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})

## 遍历角度并为每个角度绘制一个椭圆
for angle in angles:
    ellipse = Ellipse((0, 0), 4, 2, angle=angle, alpha=0.1)
    ax.add_artist(ellipse)

## 设置绘图的x和y轴范围
ax.set_xlim(-2.2, 2.2)
ax.set_ylim(-2.2, 2.2)

## 显示绘图
plt.show()

总结

在本实验中,我们学习了如何使用Python Matplotlib绘制椭圆。我们涵盖了两个示例:绘制单个椭圆和绘制不同角度的椭圆。通过遵循本实验中的步骤,你应该能够在自己的Python项目中使用Matplotlib绘制椭圆。