Matplotlib: Трехмерные графики
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D # подключаем поддержку 3D
# 1. Создаём сетку координат
x = np.linspace(-5, 5, 50)
y = np.linspace(-5, 5, 50)
X, Y = np.meshgrid(x, y)
# 2. Вычисляем Z как функцию от X и Y
Z = np.sin(np.sqrt(X**2 + Y**2))
fig = plt.figure(figsize=(15, 5))
# --- Поверхность ---
ax1 = fig.add_subplot(131, projection='3d')
ax1.plot_surface(X, Y, Z, cmap='viridis', edgecolor='none')
ax1.set_title('3D поверхность')
# --- Проволочная модель ---
ax2 = fig.add_subplot(132, projection='3d')
ax2.plot_wireframe(X, Y, Z, color='black')
ax2.set_title('Проволочная модель')
# --- Облако точек ---
ax3 = fig.add_subplot(133, projection='3d')
ax3.scatter(X, Y, Z, c=Z, cmap='plasma')
ax3.set_title('3D scatter')
plt.show()