NumpyのMeshgrid関数
numpy.meshgridは以下のようにNumpy配列を生成します。
画像などの座標位置とか3次元グラフのX,Y軸の座標とかのIndexに使われるmeshgridを生成する。 つまり(0,0),(0,1)….(1,0),(1,1)….のようなデータを作るのにも使われます。
一つの例 $Z = X * np.exp(-X^2-Y^2) -1$ を通して、meshgridのイメージをつかむ。
import numpy as np x = np.mgrid[-2:2:0.2] # [-2, -1.8, -1.6, ... , 1.6, 1.8] y = np.mgrid[-2:2:0.2] X, Y = np.meshgrid(x, y) Z = X * np.exp(-X**2-Y**2) -1 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm fig = plt.figure(figsize=(20,15)) ax = fig.gca(projection='3d') plt.xlabel('X') plt.ylabel("Y") #surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet,linewidth=0.1, antialiased=False) surf = ax.