Numpy 的 meshgrid(~)
方法返回一个网格,该网格在绘制 3D 图形的等值线图时非常有用。由于很难用语言解释此方法的作用,请参阅下面的示例。
参数
1. x1
| array-like
用于制作网格的输入数组。
2. x2
| array-like
| optional
如果你想要一个二维网格,那么这是必需的。
* 请注意,如果需要,您可以添加更多数组(即 x3、x4...)。
3. sparse
| boolean
| optional
是否返回稀疏网格。如果您正在处理无法装入内存的大量数据,请将其设置为True
。默认情况下,sparse=False
。
4. copy
| boolean
| optional
如果 True
,则创建并返回一个新的 Numpy 数组。如果False
,则返回视图以节省内存。默认情况下,copy=True
。
返回值
如果仅指定x1
,则返回 Numpy 数组。否则,将返回 Numpy 数组的元组。
例子
可视化网格
让我们创建一个 2D 网格:
x = [1,2,3,4]
y = [5,6,7,8]
xx, yy = np.meshgrid(x, y)
让我们揭开返回数组的内容:
print(xx)
[[1 2 3 4]
[1 2 3 4]
[1 2 3 4]
[1 2 3 4]]
这是yy
:
print(yy)
[[5 5 5 5]
[6 6 6 6]
[7 7 7 7]
[8 8 8 8]]
使用 Matplotlib,我们可以像这样绘制它们:
plt.scatter(xx, yy)
plt.show()
这给我们带来了以下结果:
绘制等高线图
现在让我们谈谈拥有这些data-points的实际好处。当我们绘制 3D 函数的等高线图时,它们会派上用场。
这是一个例子:
def f(x, y):
return x**2 + y **2
我们可以像这样绘制轮廓:
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
xx, yy = np.meshgrid(x, y)
zz = f(xx, yy)
plt.contour(xx, yy, zz)
plt.show()
这给了我们以下等高线图:
相关用法
- Python Pandas merge_ordered方法用法及代码示例
- Python NumPy mean方法用法及代码示例
- Python statistics median_high()用法及代码示例
- Python statistics median()用法及代码示例
- Python memoryview.itemsize用法及代码示例
- Python memoryview.nbytes用法及代码示例
- Python memoryview.cast用法及代码示例
- Python memoryview.obj用法及代码示例
- Python memoryview.hex用法及代码示例
- Python memoryview()用法及代码示例
- Python memoryview.toreadonly用法及代码示例
- Python merge_asof方法用法及代码示例
- Python NumPy median方法用法及代码示例
- Python statistics median_low()用法及代码示例
- Python memoryview用法及代码示例
- Python memoryview.release用法及代码示例
- Python memoryview.tolist用法及代码示例
- Python memoryview.__eq__用法及代码示例
- Python statistics median_grouped()用法及代码示例
- Python memoryview.tobytes用法及代码示例
- Python mxnet.symbol.op.broadcast_logical_xor用法及代码示例
- Python matplotlib.patheffects.withTickedStroke用法及代码示例
- Python mxnet.test_utils.get_zip_data用法及代码示例
- Python mxnet.ndarray.op.uniform用法及代码示例
- Python mxnet.symbol.op.log_softmax用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | meshgrid method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。