Создание составного пути

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом уроке мы узнаем, как создавать составной путь с использованием Matplotlib в Python. Составной путь - это коллекция простых путей, которые можно использовать для создания сложных форм. Мы создадим составной путь, объединив два простых многоугольника, прямоугольник и треугольник.

Советы по работе с ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48614{{"Создание составного пути"}} matplotlib/figures_axes -.-> lab-48614{{"Создание составного пути"}} python/comments -.-> lab-48614{{"Создание составного пути"}} python/lists -.-> lab-48614{{"Создание составного пути"}} python/tuples -.-> lab-48614{{"Создание составного пути"}} python/importing_modules -.-> lab-48614{{"Создание составного пути"}} python/using_packages -.-> lab-48614{{"Создание составного пути"}} python/numerical_computing -.-> lab-48614{{"Создание составного пути"}} python/data_visualization -.-> lab-48614{{"Создание составного пути"}} end

Импорт необходимых библиотек

Начнем с импорта необходимых библиотек. Для создания графика нам нужна matplotlib.pyplot, для создания патчей - matplotlib.patches, для создания путей - matplotlib.path.Path и для создания массивов - numpy.

import matplotlib.pyplot as plt
from matplotlib.patches import PathPatch
from matplotlib.path import Path
import numpy as np

Создание вершин и кодов

Мы создадим вершины и коды для двух многоугольников, которые мы хотим объединить в составной путь. Мы будем использовать Path.MOVETO, чтобы переместить курсор в начальную точку многоугольника, Path.LINETO, чтобы создать линию от начальной точки до следующей точки, и Path.CLOSEPOLY, чтобы закрыть многоугольник.

vertices = []
codes = []

## Первый многоугольник - прямоугольник
codes = [Path.MOVETO] + [Path.LINETO]*3 + [Path.CLOSEPOLY]
vertices = [(1, 1), (1, 2), (2, 2), (2, 1), (0, 0)]

## Второй многоугольник - треугольник
codes += [Path.MOVETO] + [Path.LINETO]*2 + [Path.CLOSEPOLY]
vertices += [(4, 4), (5, 5), (5, 4), (0, 0)]

Создание пути

Мы будем использовать Path, чтобы создать путь из вершин и кодов, которые мы создали на предыдущем шаге.

path = Path(vertices, codes)

Создание PathPatch

Мы создадим PathPatch из пути, который мы создали на предыдущем шаге. Мы установим facecolor в 'none' и edgecolor в 'зеленый'.

pathpatch = PathPatch(path, facecolor='none', edgecolor='green')

Создание графика

Мы создадим график и добавим PathPatch на график. Мы установим заголовок графика в 'Составной путь'.

fig, ax = plt.subplots()
ax.add_patch(pathpatch)
ax.set_title('A Compound Path')

ax.autoscale_view()

plt.show()

Резюме

В этом уроке мы узнали, как создавать составной путь с использованием Matplotlib в Python. Мы создали составной путь, объединив два простых многоугольника, прямоугольник и треугольник. Мы использовали Path, чтобы создать путь из вершин и кодов, и PathPatch, чтобы создать наклеек из пути. Наконец, мы добавили наклеек на график, чтобы отобразить составной путь.