Matplotlib - Трехмерное построение

Несмотря на то, что Matplotlib изначально разрабатывался с учетом только двухмерного построения графиков, некоторые утилиты трехмерного построения были построены поверх двумерного отображения Matplotlib в более поздних версиях, чтобы предоставить набор инструментов для трехмерной визуализации данных. Трехмерные графики включаются путем импорта файлаmplot3d toolkit, включенный в пакет Matplotlib.

Трехмерные оси можно создать, передав ключевое слово projection = '3d' в любую из обычных процедур создания осей.

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
ax.plot3D(x, y, z, 'gray')
ax.set_title('3D line plot')
plt.show()

Теперь мы можем построить различные типы трехмерных графиков. Самый простой трехмерный сюжет - это3D line plotсозданный из наборов (x, y, z) троек. Это можно создать с помощью функции ax.plot3D.

3D scatter plot генерируется с помощью ax.scatter3D функция.

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(20 * z)
y = z * np.cos(20 * z)
c = x + y
ax.scatter(x, y, z, c=c)
ax.set_title('3d Scatter plot')
plt.show()