キノカレッジ
キノクエスト
キノクエスト for Biz

【こつこつPython】Pythonで多角形を作成する方法|matplotlib.pyplot.fill

Pythonで多角形を作成する方法です。
使用するのはPythonのmatplotlibライブラリのfill関数です。

import matplotlib.pyplot as plt

まず、座標の原点から1辺の長さが1の正方形を作成してみましょう。
この時、正方形は一筆書きで描くことをイメージします。
原点から時計回りに正方形を描くと、頂点の座標は(0,0),(0,1),(1,1),(1,0)になります。
このx座標とy座標をリストにして、変数x1、y1に代入しましょう。
実行します。

x1 = [0, 0, 1, 1]
y1 = [0, 1, 1, 0]

そして、fill関数を使用して正方形を作成してみましょう。
引数に先ほど代入した頂点のx座標、y座標のリストを指定します。
実行します。

plt.fill(x1, y1)
plt.show()

1辺の長さが1の正方形を作成できました。

次に、頂点の座標を変更し、更に頂点の数も増やして五角形を作成してみましょう。
x座標が1、y座標が1の点から、時計回りに5つの頂点のx座標、y座標をリストにして、変数x2、y2に代入します。
そして、fill関数の引数にx2、y2を指定します。
実行します。

x2 = [1, 1, 2, 3, 3]
y2 = [1, 2, 3, 2, 1]
plt.fill(x2, y2)
plt.show()

頂点の座標を変えて五角形を作成できました。

また、塗りつぶす色を変えることもできます。
引数colorに塗りつぶしたい色を指定します。
実行します。

plt.fill(x2, y2, color="orange")
plt.show()

塗りつぶす色を変えられました。

また、複数の多角形を同時に作成することもできます。
引数に多角形の頂点の座標のリストをそれぞれ指定します。
実行します。

plt.fill(x1, y1, x2, y2)
plt.show()

複数の多角形を同時に作成できました。

関連メソッド

【こつこつPython】Pythonで2つのグラフを塗りつぶす方法|matplotlib.pyplot.fill_between