Matplotlib の PathPatch オブジェクトの作成

PythonPythonBeginner
今すぐ練習

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

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

はじめに

Matplotlibは、ユーザーがさまざまな種類のチャートやグラフを作成できるPythonライブラリです。データ可視化やデータ分析に使用されます。この実験では、MatplotlibのAPIを使用してPathPatchオブジェクトを作成する方法を学びます。

VMのヒント

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

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

学習中に問題に遭遇した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlotCustomizationGroup(["Plot Customization"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") matplotlib/PlotCustomizationGroup -.-> matplotlib/grid_config("Grid Configuration") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} matplotlib/figures_axes -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} matplotlib/line_plots -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} python/lists -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} python/tuples -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} python/build_in_functions -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} matplotlib/grid_config -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} python/importing_modules -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} python/data_visualization -.-> lab-48854{{"Matplotlib の PathPatch オブジェクトの作成"}} end

ライブラリのインポート

この実験で必要なライブラリをインポートする必要があります。

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath

パスデータの定義

このステップではパスデータを定義します。パスデータは、パスの頂点とコードを指定するタプルのシーケンスです。このデータからPathオブジェクトを作成するために、mpath.Pathクラスを使用します。

Path = mpath.Path
path_data = [
    (Path.MOVETO, (1.58, -2.57)),
    (Path.CURVE4, (0.35, -1.1)),
    (Path.CURVE4, (-1.75, 2.0)),
    (Path.CURVE4, (0.375, 2.0)),
    (Path.LINETO, (0.85, 1.15)),
    (Path.CURVE4, (2.2, 3.2)),
    (Path.CURVE4, (3, 0.05)),
    (Path.CURVE4, (2.0, -0.5)),
    (Path.CLOSEPOLY, (1.58, -2.57)),
    ]
codes, verts = zip(*path_data)
path = mpath.Path(verts, codes)

PathPatchオブジェクトの作成

このステップでは、前のステップで作成したパスオブジェクトを使用してPathPatchオブジェクトを作成します。このオブジェクトは、パスで囲まれた領域を塗りつぶすために使用されます。また、パッチの色や透明度を設定することもできます。

patch = mpatches.PathPatch(path, facecolor='r', alpha=0.5)

プロットにPathPatchを追加する

ここで、axesオブジェクトのadd_patchメソッドを使って、パッチオブジェクトをプロットに追加します。

fig, ax = plt.subplots()
ax.add_patch(patch)

制御点と接続線をプロットする

このステップでは、axesオブジェクトのplotメソッドを使って、パスの制御点と接続線をプロットします。

x, y = zip(*path.vertices)
line, = ax.plot(x, y, 'go-')

プロットのカスタマイズ

最後に、グリッドを追加して軸を等しくすることでプロットをカスタマイズします。

ax.grid()
ax.axis('equal')
plt.show()

まとめ

この実験では、MatplotlibのAPIを使ってPathPatchオブジェクトを作成する方法を学びました。パスデータを定義し、Pathオブジェクトを作成し、それを使ってプロットに追加するPathPatchオブジェクトを作成しました。また、パスの制御点と接続線をプロットし、グリッドを追加して軸を等しくすることでプロットをカスタマイズしました。