【Python】Numpy 中 Meshgrid 函数介绍及简单应用

简单介绍Meshgrid

文字解释

Meshgrid功能为将两个坐标轴上的点转化为平面上的网格,即将两组一维数据分别转化为二维数据,原理为简单复制(通过简单复制将以为数组转化为二维数组,即格点)。
以上的详细解释:设x轴有m个数据(是长度为m的向量),y轴有n个数据(是长度为n的向量),x,y轴相互垂直。则通过Meshgrid函数X, Y = np.meshgrid(x, y),最终生成矩阵X,Y,且X,Y都是n*m的二维矩阵。已知原理为简单复制,那么就是X为将一维的x在y方向上复制n次生成的二维数组,Y在x方向上同理。

代码解释

加载数据

import numpy as np
import matplotlib.pyplot as plt

m = 5
n = 3
x = np.linspace(0, 1, m)
y = np.linspace(0, 1, n) #生成两个一维数组

X, Y = np.meshgrid(x, y) #转化为grid

查看向量x,y和矩阵X,Y

x
out:
array([ 0. , 0.25, 0.5, 0.75, 1.  ])
y
out:
array([ 0. , 0.5, 1. ])

X
out:
array([[ 0. , 0.25, 0.5, 0.75, 1.  ],
       [ 0. , 0.25, 0.5, 0.75, 1.  ],
       [ 0. , 0.25, 0.5, 0.75, 1.  ]])
Y
out:
array([[ 0. , 0. , 0. , 0. , 0. ]
       [ 0.5, 0.5, 0.5, 0.5, 0.5]
       [ 1. , 1. , 1. , 1. , 1. ]])

查看矩阵对应的维度:

X.shape
out:
(3, 5)

Y.shape
out:
(3, 5)

运行过程示意图:
【Python】Numpy 中 Meshgrid 函数介绍及简单应用_第1张图片
在matplotlib中可视化:

plt.plot(X, Y, marker='.', color='blue', linestyle='none')
plt.show()

【Python】Numpy 中 Meshgrid 函数介绍及简单应用_第2张图片

应用场景

等值线绘制及SVC超平面绘制。
等值线:
【Python】Numpy 中 Meshgrid 函数介绍及简单应用_第3张图片
(后续应该会发布等值线绘制方法)

参考、图片:https://mp.weixin.qq.com/s/icNQELJrpOBEYfHCJCzAKg

你可能感兴趣的:(numpy,python,numpy,数据分析)