numpy.meshgrid
-
numpy.meshgrid(*xi, **kwargs)[source] -
Возвращает матрицы координат из векторов координат.
Создаёт N-мерные массивы координат для векторного вычисления N-мерных скалярных/векторных полей на N-мерных сетках, заданных одномерными массивами координат x1, x2,..., xn.
Изменено в версии 1.9: Разрешены 1-D и 0-D случаи.
Параметры: x1, x2,..., xn : array_like
Одномерные массивы, представляющие координаты сетки.
indexing : {‘xy’, ‘ij’}, optional
Декартовы (‘xy’, по умолчанию) или матричные (‘ij’) индексы вывода. Подробнее см. Примечания.
Добавлен в версии 1.7.0.
sparse : bool, optional
Если True, возвращается разреженная сетка для экономии памяти. По умолчанию False.
Добавлен в версии 1.7.0.
copy : bool, optional
Если False, возвращаются представления исходных массивов для экономии памяти. По умолчанию True. Обратите внимание, что
sparse=False, copy=Falseвероятно вернёт несмежные массивы. Кроме того, более одного элемента массива с широковещательной передачей может ссылаться на одно место в памяти. Если вам нужно записать в массивы, сделайте копии сначала.Добавлен в версии 1.7.0.
Возвращает: X1, X2,..., XN : ndarray
Для векторов
x1,x2,..., ‘xn’ с длинамиNi=len(xi), возвращает массивы формы(N1, N2, N3,...Nn)при indexing=’ij’ или массивы формы(N2, N1, N3,...Nn)при indexing=’xy’, с элементамиxi, повторяемыми для заполнения матрицы вдоль первого измерения дляx1, второго дляx2и так далее.См. также
-
index_tricks.mgrid - Конструирует многомерную «сетку» с использованием обозначения индексации.
-
index_tricks.ogrid - Конструирует открытую многомерную «сетку» с использованием обозначения индексации.
Примечания
Эта функция поддерживает обе системы индексации через параметр indexing. Значение ‘ij’ возвращает сетку с матричной индексацией, а ‘xy’ — сетку с декартовой индексацией. В двумерном случае с входами длины M и N, выходные данные имеют форму (N, M) для индексации ‘xy’ и (M, N) для индексации ‘ij’. В трёхмерном случае с входами длины M, N и P, выходные данные имеют форму (N, M, P) для индексации ‘xy’ и (M, N, P) для индексации ‘ij’. Разница иллюстрируется следующим фрагментом кода:
xv, yv = meshgrid(x, y, sparse=False, indexing='ij') for i in range(nx): for j in range(ny): # treat xv[i,j], yv[i,j] xv, yv = meshgrid(x, y, sparse=False, indexing='xy') for i in range(nx): for j in range(ny): # treat xv[j,i], yv[j,i]В 1-D и 0-D случае параметры indexing и sparse не влияют.
Примеры
>>> nx, ny = (3, 2) >>> x = np.linspace(0, 1, nx) >>> y = np.linspace(0, 1, ny) >>> xv, yv = meshgrid(x, y) >>> xv array([[ 0. , 0.5, 1. ], [ 0. , 0.5, 1. ]]) >>> yv array([[ 0., 0., 0.], [ 1., 1., 1.]]) >>> xv, yv = meshgrid(x, y, sparse=True) # make sparse output arrays >>> xv array([[ 0. , 0.5, 1. ]]) >>> yv array([[ 0.], [ 1.]])meshgridочень полезен для вычисления функций на сетке.>>> x = np.arange(-5, 5, 0.1) >>> y = np.arange(-5, 5, 0.1) >>> xx, yy = meshgrid(x, y, sparse=True) >>> z = np.sin(xx**2 + yy**2) / (xx**2 + yy**2) >>> h = plt.contourf(x,y,z)
-
© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.meshgrid.html