Трехмерный линейный график в Python с использованием matplotlib

Есть много способов создания трехмерных графиков в python, здесь я объясню линейный график с помощью matplotlib. Например, как создать пустую сетку и построить линейный график с использованием случайных данных.

Во-первых, мы должны установить matplotlib, чтобы импортировать инструментарий mplot3d. Mplot3d - это набор инструментов, который поможет matplotlib создать 3 оси на графике. Если вы еще не установили matplotlib, важно установить matplotlib.

Plot 2D or 3D data.
Axes3D.plot(xs, ys, *args, **kwargs)
Argument                    Description
xs, ys  x, y  --     coordinates of vertices
zs z          --     value(s), either one for all points or one for each point.
zdir   -- Which direction to use as z (‘x’, ‘y’ or ‘z’) when  plotting a 2D set.

Как установить matplotlib через pip?

pip install matplotlib

скопируйте эту команду выше, поместите ее в консоль Python и нажмите ввод.

Если вы уже установили matplotlib, вам не нужно устанавливать его снова, просто импортируйте его, используя команду ниже

imoprt matplotlib as plt

Как импортировать модуль mplot3d из matplotlib?

из mpl_toolkits импортировать mplot3d

Теперь давайте посмотрим, как создать пустую сетку для нашего первого 3D-графика.

код -

из mpl_toolkits импортировать mplot3d

импортировать numpy как np
импортировать matplotlib.pyplot как plt
из mpl_toolkits.mplot3d импортировать axes3d

fig = plt.figure ()
ax = plt.axes (projection = ”3d”)

plt.show ()

вывод -

Теперь давайте добавим линию на нашу пустую сетку (по 3 осям).

код -

mpl.rcParams ['legend.fontsize'] = 10
fig = plt.figure ()
ax = fig.gca (projection = '3d')
theta = np.linspace (- 4 * np.pi, 4 * np.pi, 100)
z = np.linspace (-2, 2, 100)
r = z ** 2 + 1
x = r * np.sin (theta)
y = r * np.cos (theta)
ax.plot (x, y, z, label = 'параметрическая кривая')
ax.legend ( )
plt.show ()

вывод -

Следующее изображение-B объединяет 2 графика, один с линией, которая проходит через каждую точку данных, а другой, который рисует точку на каждом из конкретных 1000 значений в этом примере.

(данные в строке генерируются случайным образом с использованием случайной функции)

код -

ax = plt.axes(projection=’3d’)# Data for a three-dimensional line
zline = np.linspace(0, 15, 1000)
xline = np.sin(zline)
yline = np.cos(zline)
ax.plot3D(xline, yline, zline, ‘gray’)# Data for three-dimensional scattered points
zdata = 15 * np.random.random(100)
xdata = np.sin(zdata) + 0.1 * np.random.randn(100)
ydata = np.cos(zdata) + 0.1 * np.random.randn(100)
ax.scatter3D(xdata, ydata, zdata, c=zdata, cmap=’Greens’);

Вывод -