python数据分析numpy基础之meshgrid生成网格点坐标

本文详细介绍了Python的NumPy库中meshgrid函数的用法,包括如何生成网格点的坐标矩阵,以及参数xi的使用和indexing选项对输出矩阵索引的影响。通过实例演示了不同情况下的坐标矩阵生成和可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 python数据分析numpy基础之meshgrid生成网格点坐标

python的numpy库的meshgrid()函数用于生成网格点的坐标矩阵。

用法

numpy.meshgrid(*xi, copy=True, sparse=False, indexing='xy')

描述

返回坐标向量中的坐标矩阵列表。

入参

  1. *xi:可选,array_like

x1,x2,…,xn,表示网格坐标的一维数组;

  1. copy:可选,bool

默认为True,表示复制原始数组的视图,False则不复制,直接返回原始数组的视图;

  1. sparse:可选,bool

默认为False,表示不返回稀疏矩阵,True表示返回稀疏矩阵;

  1. indexing:可选,{‘xy’,’ij’}

用于指定输出的网格数组的索引顺序,该参数的取值可以是’xy’或’ij’;

1.1 入参xi

numpy.meshgrid()的入参xi为必选入参,表示网格坐标的一维数组。

如果xi送2个一维数组x和y,那么一维数组x,对应网格点的横坐标向量;

一维数组y,对应网格点的纵坐标向量。

如果xs,ys=np.meshgrid(x,y),那么xs和ys就是坐标矩阵。

x一维数组的大小为C,y一维数组的大小为R,那么xs和ys坐标矩阵大小为(R,C)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如上图中,假设横轴为X轴,纵轴为Y轴,那么每个红色的点可以用X轴上的坐标和Y轴上的坐标唯一确定。在X轴和Y轴垂直的情况下,X轴的坐标表示到Y轴的距离,Y轴的坐标表示到X轴的距离,

每个红色的点都是网格线交叉而成,称为网格点,网格点用网格坐标表示。

比如,上图的红色点可以通过x=1(2,3,4)的直线(网格线),与y=5(6,7,8,9)的直线交叉形成。

将这些红色网格点的X轴坐标用矩阵表示,形成5×4(5行4列)的X坐标矩阵,如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

将这些红色网格点的Y轴坐标用矩阵表示,形成5×4(5行4列)的Y坐标矩阵,如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

X和Y坐标矩阵的行列值相等,因为他们由相同的网格点拆分而成。

X和Y坐标矩阵,都有5行,对应Y轴的y直线条数共5条(y=5,6,7,8,9);都有4列,对应X轴的x直线条数共4条(x=1,2,3,4)。

X和Y的坐标矩阵的坐标值,组成红色点的坐标。

比如,红色点A坐标值(1,5),由X坐标矩阵的X01(1)和Y坐标矩阵的Y01(5)组成,即A坐标为(X01, Y01),即(1,5)。

X和Y坐标矩阵可以通过numpy.meshgrid()生成。

将x直线值(1,2,3,4)组成的一维数组,和y直线值(5,6,7,8,9)组成的一维数组,送给xi调用numpy.meshgrid()函数,就可以获取X和Y坐标矩阵。

>>> import numpy as np
# xi送2个列表,返回2个二维数组组成的列表
>>> xy=np.meshgrid([1,2,3],[4,5,6])
>>> xy
[array([[1, 2, 3],
       [1, 2, 3],
       [1, 2, 3]]), array([[4, 4, 4],
       [5, 5, 5],
       [6, 6, 6]])]

>>> x=np.array([1,2,3])
>>> y=np
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值