複合パスの作成

PythonPythonBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、Python の Matplotlib を使って複合パスを作成する方法を学びます。複合パスは、単純なパスのコレクションで、複雑な形状を作成するために使用できます。ここでは、2 つの単純な多角形、すなわち四角形と三角形を組み合わせて複合パスを作成します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) 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

頂点とコードの作成

複合パスに結合したい 2 つの多角形の頂点とコードを作成します。多角形の始点にカーソルを移動するには 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)]

## 2 番目の多角形 - 三角形
codes += [Path.MOVETO] + [Path.LINETO]*2 + [Path.CLOSEPOLY]
vertices += [(4, 4), (5, 5), (5, 4), (0, 0)]

パスの作成

前のステップで作成した頂点とコードから、Path を使ってパスを作成します。

path = Path(vertices, codes)

パスパッチの作成

前のステップで作成したパスから PathPatch を作成します。facecolor'none' に、edgecolor'green' に設定します。

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

グラフの作成

グラフを作成し、そのグラフに PathPatch を追加します。グラフのタイトルを 'A Compound Path' に設定します。

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

ax.autoscale_view()

plt.show()

まとめ

このチュートリアルでは、Python の Matplotlib を使って複合パスを作成する方法を学びました。四角形と三角形の 2 つの単純な多角形を組み合わせて複合パスを作成しました。頂点とコードからパスを作成するために Path を使い、パスからパッチを作成するために PathPatch を使いました。最後に、パッチをグラフに追加して複合パスを表示しました。