NumPy | meshgrid method
meshgrid(~) method returns a grid that is useful in plotting contour plots of 3D graphs. Since it is difficult to explain in words what this method does, consult the examples below.
The input array to make a grid out of.
If you want a 2D grid, then this is required.
* Note that you could add in more arrays (i.e. x3, x4,...) if desired.
Whether to return a sparse grid. Set this to
True if you're dealing with large volumes of data that cannot be fit into memory. By default,
True, then a new Numpy array is created and returned. If
False, then view is returned so as to save memory. By default,
x1 is specified, then a Numpy array is returned. Otherwise, a tuple of Numpy arrays will be returned.
Visualising the mesh grid
Let us create a 2D mesh grid:
x = [1,2,3,4]y = [5,6,7,8]xx, yy = np.meshgrid(x, y)
Let's unveil the content of the returned arrays:
print(xx)[[1 2 3 4][1 2 3 4][1 2 3 4][1 2 3 4]]
print(yy)[[5 5 5 5][6 6 6 6][7 7 7 7][8 8 8 8]]
Using Matplotlib, we can graph them like so:
This gives us the following:
Drawing a contour plot
Let's now talk about the practical benefits of having these data-points. They come in handy when we draw contour plots of 3D functions.
Here's an example:
def f(x, y):return x**2 + y **2
We can draw the contour like so:
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()
This gives us the following contour plot: