【こつこつPython】Pythonで配列から座標の格子点を作成する方法|numpy.meshgrid

Pythonで配列から座標系を作成する方法です。
使用するのはPythonのnumpyライブラリのmeshgrid関数です。

import numpy as np

このような2種類の配列を使用します。

a = np.array([0, 1, 2, 3])
a
b = np.array([0, 1, 2])
b

まず、meshgrid関数の役割について説明します。
座標系をイメージしましょう。
配列aと配列bを指定する場合、配列aの要素をx軸上に、配列bの要素をy軸上に並べます。
次に、各要素から軸に対して平行に直線を引きます。
そして、その直線の交点のx座標、y座標を取得します。

実際にmeshgrid関数を使用して座標系を作成してみましょう。
引数に配列aと配列bを指定します。
交点のx座標とy座標の2つが返ってくるので、変数Xと変数Yに代入します。
実行します。

X, Y = np.meshgrid(a, b)

まず、Xの中身を確認してみましょう。

X

Xには2つの配列の交点のx座標が代入されます。
配列aの要素を横に並べて、配列bの要素数ぶん下に繰り返した2次元配列と同じです。

次にYの中身を確認してみましょう。

Y

Yには2つの配列の交点のy座標が代入されます。
配列bの要素を縦に並べて、配列aの要素数ぶん右に繰り返した2次元配列と同じです。

なお、座標系は等高線や3次元のグラフを作成するときによく使われます。
毎日Pythonでもcontour関数の説明の時に使用しています。

関連メソッド

毎日Python】Pythonで等高線グラフを作成する方法|matplotlib.pyplot.contour