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