Matplotlib: Трехмерные графики

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()

Report Page