Проекция заполненного контура на трехмерный график

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

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

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

Введение

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

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

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

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

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

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

Начнем с импорта необходимых библиотек.

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d

Создание трехмерных осей

Далее мы создадим объект трехмерной оси с использованием метода add_subplot.

ax = plt.figure().add_subplot(projection='3d')

Создание данных

Мы будем использовать метод axes3d.get_test_data для создания образцовых данных для нашей диаграммы.

X, Y, Z = axes3d.get_test_data(0.05)

Построение трехмерной поверхности

Мы построим трехмерную поверхность с использованием метода plot_surface. Также мы зададим некоторые параметры, такие как цвет границы (edgecolor), толщина линии (lw) и прозрачность (alpha).

ax.plot_surface(X, Y, Z, edgecolor='royalblue', lw=0.5, rstride=8, cstride=8, alpha=0.3)

Проекция профилей контура

Теперь мы проектируем профили контура на стены графика. Это делается с использованием метода contourf. Мы установим параметр zdir в 'z', 'x' и 'y', чтобы проектировать профили контура на стены z, x и y соответственно. Также мы установим параметр offset, чтобы соответствовать соответствующим пределам осей.

ax.contourf(X, Y, Z, zdir='z', offset=-100, cmap='coolwarm')
ax.contourf(X, Y, Z, zdir='x', offset=-40, cmap='coolwarm')
ax.contourf(X, Y, Z, zdir='y', offset=40, cmap='coolwarm')

Установка лимитов и меток графика

Наконец, мы установим лимиты и метки для осей графика.

ax.set(xlim=(-40, 40), ylim=(-40, 40), zlim=(-100, 100), xlabel='X', ylabel='Y', zlabel='Z')

Резюме

В этом практическом занятии был представлен пошаговый гайд по созданию трехмерной поверхностной диаграммы с нарисованными на стенках диаграммы профилями контура. Мы использовали библиотеку Matplotlib для Python для создания диаграммы.