Yes, `np.meshgrid()` can be used to create 3D grids for visualizing high-dimensional data. Here are some examples:
1. Plotting 3D Functions:
python
import numpy as np
import matplotlib.pyplot as plt
# Create a grid of x and y values
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
xx, yy = np.meshgrid(x, y)
# Calculate the function values
z = np.sin(xx**2 + yy**2) / (xx**2 + yy**2)
# Create a 3D plot
fig = plt.figure(figsize=(10, 14))
ax = fig.gca(projection="3d")
ax.plot_surface(xx, yy, z)
plt.show()
2. Creating 3D Meshgrids:
python
import numpy as np
import matplotlib.pyplot as plt
# Create a grid of x, y, and z values
X = np.linspace(1, 4, 4)
Y = np.linspace(6, 8, 3)
Z = np.linspace(12, 15, 4)
xx, yy, zz = np.meshgrid(X, Y, Z)
# Visualize the 3D grid
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xx, yy, zz)
ax.set_zlim(12, 15)
plt.show()
3. Creating 3D Surface Plots:
python
import numpy as np
import matplotlib.pyplot as plt
# Create a grid of x and y values
X = np.linspace(-20, 20, 100)
Y = np.linspace(-20, 20, 100)
X, Y = np.meshgrid(X, Y)
# Calculate the function values
Z = 4 * X**2 + Y**2
# Create a 3D surface plot
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, Z, cmap="plasma", linewidth=0, antialiased=False, alpha=0.5)
plt.show()
These examples demonstrate how `np.meshgrid()` can be used to create 3D grids and visualize high-dimensional data.
Citations:[1] https://www.udacity.com/blog/2021/10/numpy-np-meshgrid-tutorial-for-beginners.html
[2] https://gist.github.com/levimcclenny/e87dd0979e339ea89a9885ec05fe7c10
[3] https://likegeeks.com/numpy-meshgrid/
[4] https://www.geeksforgeeks.org/numpy-meshgrid-function/
[5] https://www.tutorialspoint.com/purpose-of-meshgrid-and-numpy-in-python