ogrid用切片作為下標,返回的是一組可用來廣播計算的數組。其切片下標有如下形式:
1,[ 開始值:結束值:步長 ]
x,y=np.ogrid[1:4:1,1:5:2] print(x) print(y) 結果為: [[1] [2] [3]] [[1 3]]
2,[ 開始值:結束值:長度j ]
x,y=np.ogrid[1:4:3j,1:5:2j] print(x) print(y) [[ 1. ] [ 2.5] [ 4. ]] [[ 1. 5.]]
例子:繪制三維曲面f(x,y)=x*exp(-x^2-y^2)
from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt from matplotlib import cm import numpy as np x,y=np.ogrid[-2:2:20j,-2:2:20j] z=x*np.exp(-x**2-y**2) fig = plt.figure() ax = fig.gca(projection='3d') ax.plot_surface(x, y, z, alpha=0.3) ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') plt.show()
結果為: