Визуализация Connection Patch в Matplotlib

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

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

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

Введение

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

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

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) 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/BasicConceptsGroup -.-> python/comments("Comments") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} matplotlib/figures_axes -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} python/comments -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} matplotlib/line_plots -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} python/lists -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} python/tuples -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} python/importing_modules -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} python/using_packages -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} python/data_visualization -.-> lab-48616{{"Визуализация Connection Patch в Matplotlib"}} end

Импортируем необходимые библиотеки

Прежде чем начать, импортируем необходимые библиотеки.

import matplotlib.pyplot as plt
from matplotlib.patches import ConnectionPatch

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

Далее создадим график с двумя подграфиками.

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 3))

Нарисуем простую стрелку

Теперь давайте нарисуем простую стрелку между двумя точками в координатах осей внутри одной оси.

xyA = (0.2, 0.2)
xyB = (0.8, 0.8)
coordsA = "data"
coordsB = "data"
con = ConnectionPatch(xyA, xyB, coordsA, coordsB,
                      arrowstyle="-|>", shrinkA=5, shrinkB=5,
                      mutation_scale=20, fc="w")
ax1.plot([xyA[0], xyB[0]], [xyA[1], xyB[1]], "o")
ax1.add_artist(con)

Нарисуем стрелку между разными осями

Нарисуем стрелку между одной и той же точкой в координатах данных, но в разных осях.

xy = (0.3, 0.2)
con = ConnectionPatch(
    xyA=xy, coordsA=ax2.transData,
    xyB=xy, coordsB=ax1.transData,
    arrowstyle="->", shrinkB=5)
fig.add_artist(con)

Нарисуем линию между различными точками

Наконец, нарисуем линию между различными точками, определенными в разных системах координат.

con = ConnectionPatch(
    ## в координатах осей
    xyA=(0.6, 1.0), coordsA=ax2.transAxes,
    ## x в координатах осей, y в координатах данных
    xyB=(0.0, 0.2), coordsB=ax2.get_yaxis_transform(),
    arrowstyle="-")
ax2.add_artist(con)

Резюме

В этом практическом занятии мы изучили ConnectionPatch, который используется для рисования линии между точками, определенными в разных системах координат и/или осях. Мы также узнали, как рисовать простую стрелку и линию между различными точками на графике.