3D диаграммы в виде подграфиков

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В анализе данных часто необходимо создавать трехмерные графики для визуализации данных. В Matplotlib мы можем создавать трехмерные графики в виде подграфиков для сравнения различных трехмерных данных. В этом практическом занятии будет показано, как создавать трехмерные графики в виде подграфиков с использованием Matplotlib.

Советы по работе с ВМ

После завершения запуска ВМ щелкните в верхнем левом углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импорт библиотек

Прежде чем мы начнем, нам нужно импортировать библиотеки, которые мы будем использовать в этом практическом занятии. Мы будем использовать Matplotlib, NumPy и Axes3D из mpl_toolkits.mplot3d.

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

Создаем фигуру и подграфики

Мы создадим фигуру с двумя подграфиками. Первый подграфик будет трехмерной поверхностной диаграммой, а второй подграфик будет трехмерной линейной диаграммой.

## Create a figure with two subplots
fig = plt.figure(figsize=plt.figaspect(0.5))

## Add the first subplot with 3D projection
ax1 = fig.add_subplot(1, 2, 1, projection='3d')

## Add the second subplot with 3D projection
ax2 = fig.add_subplot(1, 2, 2, projection='3d')

Создаем трехмерную поверхностную диаграмму

Для первого подграфика мы создадим трехмерную поверхностную диаграмму. Мы будем использовать NumPy для создания данных для диаграммы.

## Create data for the 3D surface plot
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

## Plot the 3D surface plot
surf = ax1.plot_surface(X, Y, Z, cmap='coolwarm', linewidth=0, antialiased=False)

## Add a color bar to the plot
fig.colorbar(surf, shrink=0.5, aspect=10)

## Set the limits for the z-axis
ax1.set_zlim(-1.01, 1.01)

Создаем трехмерную линейную диаграмму

Для второго подграфика мы создадим трехмерную линейную диаграмму. Мы будем использовать функцию get_test_data из mpl_toolkits.mplot3d.axes3d для создания данных для диаграммы.

## Create data for the 3D wireframe plot
X, Y, Z = Axes3D.get_test_data(0.05)

## Plot the 3D wireframe plot
ax2.plot_wireframe(X, Y, Z, rstride=10, cstride=10)

Показываем диаграмму

Мы будем использовать функцию plt.show(), чтобы отобразить диаграмму.

plt.show()

Резюме

В этом практическом занятии мы узнали, как создавать трехмерные диаграммы в виде подграфиков с использованием Matplotlib. Мы создали фигуру с двумя подграфиками: трехмерную поверхностную диаграмму и трехмерную линейную диаграмму. Для создания данных для трехмерной поверхностной диаграммы мы использовали NumPy, а для создания данных для трехмерной линейной диаграммы - функцию get_test_data из mpl_toolkits.mplot3d.axes3d. Мы также добавили цветовую шкалу к трехмерной поверхностной диаграмме и установили пределы для оси z.