Текстовые аннотации в трехмерном пространстве

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

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

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

Введение

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

  • Использование функции ~.Axes3D.text с тремя типами значений zdir: None, имя оси (например, 'x') или кортеж направления (например, (1, 1, 0)).
  • Использование функции ~.Axes3D.text с ключевым словом color.
  • Использование функции .text2D для размещения текста в фиксированной позиции на объекте ax.

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48985{{"Текстовые аннотации в трехмерном пространстве"}} matplotlib/figures_axes -.-> lab-48985{{"Текстовые аннотации в трехмерном пространстве"}} python/for_loops -.-> lab-48985{{"Текстовые аннотации в трехмерном пространстве"}} python/tuples -.-> lab-48985{{"Текстовые аннотации в трехмерном пространстве"}} python/build_in_functions -.-> lab-48985{{"Текстовые аннотации в трехмерном пространстве"}} python/importing_modules -.-> lab-48985{{"Текстовые аннотации в трехмерном пространстве"}} python/data_visualization -.-> lab-48985{{"Текстовые аннотации в трехмерном пространстве"}} end

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

Импортируем необходимые библиотеки для создания трехмерной диаграммы и добавления текстовых аннотаций.

import matplotlib.pyplot as plt

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

Создайте трехмерную диаграмму с использованием метода add_subplot.

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

Использование функции ~.Axes3D.text с значениями zdir

Используйте функцию ~.Axes3D.text для размещения текстовых аннотаций с разными значениями zdir.

zdirs = (None, 'x', 'y', 'z', (1, 1, 0), (1, 1, 1))
xs = (1, 4, 4, 9, 4, 1)
ys = (2, 5, 8, 10, 1, 2)
zs = (10, 3, 8, 9, 1, 8)

for zdir, x, y, z in zip(zdirs, xs, ys, zs):
    label = '(%d, %d, %d), dir=%s' % (x, y, z, zdir)
    ax.text(x, y, z, label, zdir)

Использование функции ~.Axes3D.text с ключевым словом color

Используйте функцию ~.Axes3D.text с ключевым словом color, чтобы изменить цвет текстовой аннотации.

ax.text(9, 0, 0, "red", color='red')

Использование функции .text2D

Используйте функцию .text2D, чтобы размещать текстовые аннотации в фиксированной позиции на объекте ax.

ax.text2D(0.05, 0.95, "2D Text", transform=ax.transAxes)

Настройка области отображения и меток

Настройте область отображения и метки трехмерной диаграммы.

ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
ax.set_zlim(0, 10)
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')

Показать диаграмму

Покажите трехмерную диаграмму с текстовыми аннотациями.

plt.show()

Резюме

В этом практическом занятии показано, как размещать текстовые аннотации на трехмерной диаграмме с использованием библиотеки Matplotlib в Python. Для размещения текстовых аннотаций в трехмерной диаграмме использовалась функция ~.Axes3D.text с разными значениями zdir и ключевым словом color, а также функция .text2D. Также была настройлена область отображения и метки трехмерной диаграммы.