Введение
Matplotlib - это мощная библиотека для построения графиков в Python. Она предоставляет различные настраиваемые визуализации, такие как линейные графики, точечные диаграммы, столбчатые диаграммы, гистограммы и многие другие. Одной из визуализаций, предоставляемых Matplotlib, является диаграмма с стрелками. Диаграммы с стрелками используются для кодирования "сила" стрелки, такой как вероятности переходов в марковской модели, с использованием длины стрелки, ширины или альфа (прозрачности).
В этом практическом занятии мы научимся создавать диаграммы с стрелками с использованием Matplotlib. Мы будем использовать функцию make_arrow_graph() для построения диаграммы с стрелками.
Советы по работе с ВМ
После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Ноутбук, чтобы получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем библиотеки и определяем функцию
Первым шагом является импорт необходимых библиотек и определение функции make_arrow_graph(). Эта функция принимает различные параметры, такие как оси, данные, размер, отображение, форма, максимальная ширина стрелки, расстояние между стрелками, альфа, нормализация данных, цвет контура, цвет метки и дополнительные именованные аргументы. Она использует эти параметры для создания диаграммы с стрелками.
## Import libraries
import itertools
import matplotlib.pyplot as plt
import numpy as np
## Define the function
def make_arrow_graph(ax, data, size=4, display='length', shape='right',
max_arrow_width=0.03, arrow_sep=0.02, alpha=0.5,
normalize_data=False, ec=None, labelcolor=None,
**kwargs):
"""
Создает диаграмму с стрелками.
Параметры
----------
ax
Оси, на которых рисуется график.
data
Словарь с вероятностями для оснований и переходов пар.
size
Размер графика в дюймах.
display : {'length', 'width', 'alpha'}
Свойство стрелки, которое меняется.
shape : {'full', 'left', 'right'}
Для полных или полустрелок.
max_arrow_width : float
Максимальная ширина стрелки в координатах данных.
arrow_sep : float
Расстояние между стрелками в паре в координатах данных.
alpha : float
Максимальная прозрачность стрелок.
**kwargs
Свойства `.FancyArrow`, например *linewidth* или *edgecolor*.
"""
## code block
Определяем данные и строим диаграмму с стрелками
Вторым шагом является определение данных и построение диаграммы с стрелками с использованием функции make_arrow_graph(). Мы определим данные в виде словаря с вероятностями для оснований и переходов пар. Также мы установим размер графика равным 4 и нормализуем данные.
## Define the data
data = {
'A': 0.4, 'T': 0.3, 'G': 0.6, 'C': 0.2,
'AT': 0.4, 'AC': 0.3, 'AG': 0.2,
'TA': 0.2, 'TC': 0.3, 'TG': 0.4,
'CT': 0.2, 'CG': 0.3, 'CA': 0.2,
'GA': 0.1, 'GT': 0.4, 'GC': 0.1,
}
## Plot the arrow graph
size = 4
fig = plt.figure(figsize=(3 * size, size), layout="constrained")
axs = fig.subplot_mosaic([["length", "width", "alpha"]])
for display, ax in axs.items():
make_arrow_graph(
ax, data, display=display, linewidth=0.001, edgecolor=None,
normalize_data=True, size=size)
plt.show()
Настраиваем диаграмму с стрелками
Третий шаг - настройка диаграммы с стрелками. Мы можем изменить свойство стрелки для отображения с использованием параметра display. Также мы можем изменить форму стрелки с использованием параметра shape. Мы можем настроить ширину и расстояние между стрелками с использованием параметров max_arrow_width и arrow_sep соответственно. Мы можем изменить прозрачность стрелок с использованием параметра alpha. Мы также можем изменить цвет метки с использованием параметра labelcolor.
## Plot the arrow graph with customizations
size = 4
fig = plt.figure(figsize=(3 * size, size), layout="constrained")
axs = fig.subplot_mosaic([["length", "width", "alpha"]])
for display, ax in axs.items():
make_arrow_graph(
ax, data, display=display, linewidth=0.001, edgecolor=None,
normalize_data=True, size=size, shape='full', max_arrow_width=0.05,
arrow_sep=0.03, alpha=0.7, labelcolor='white')
plt.show()
Интерпретируем диаграмму с стрелками
Четвёртым шагом является интерпретация диаграммы с стрелками. Длина, ширина и прозрачность стрелок представляют силу стрелки. Диаграмма с стрелками может быть использована для кодирования "силы" стрелки, такой как вероятности переходов в марковской модели, с использованием длины стрелки, ширины или альфа (прозрачности). Метки на стрелках представляют вероятности для оснований и переходов пар.
Резюме
В этом практическом занятии мы узнали, как создавать диаграммы с стрелками с использованием Matplotlib. Мы использовали функцию make_arrow_graph() для построения диаграммы с стрелками. Мы настроили диаграмму с стрелками, изменив свойство стрелки для отображения, форму стрелки, ширину и расстояние между стрелками, прозрачность стрелок и цвет метки. Мы также интерпретировали диаграмму с стрелками, понимая, что длина, ширина и прозрачность стрелок представляют силу стрелки, а метки на стрелках представляют вероятности для оснований и переходов пар.