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

Открытая библиотека Python для создания круговой визуализации. Библиотека позволяет создавать диаграммы аккордов, круговые тепловые карты, круговые столбчатые графики, радиальные диаграммы и многое другое.

В постоянно развивающемся мире визуализации данных разработчики постоянно ищут инструменты, сочетающие гибкость, простоту использования и мощные возможности. Библиотека pyCirclize — один из таких открытых инструментов на Python, позволяющий разработчикам создавать впечатляющие круговые визуализации с минимальными усилиями. Библиотека предназначена для программного создания и управления круговыми визуализациями. Вдохновлённая пакетом R circlize, она позволяет разработчикам создавать потрясающие круговые графики для геномных, биологических и задач визуализации данных. Библиотека предлагает интуитивный API для отрисовки дорожек, тепловых карт, связей и многого другого, что делает её ценным инструментом для разработчиков программного обеспечения, желающих интегрировать круговые диаграммы в свои приложения.

Библиотека pyCirclize построена на основе Matplotlib, что делает её высоко настраиваемой и совместимой с другими инструментами визуализации Python. Ниже перечислены некоторые выдающиеся возможности, которые делают pyCirclize мощным инструментом для разработчиков: она визуализирует отношения между объектами с настраиваемыми связями и цветами, представляет матрицы или иерархические данные в радиальном расположении, отображает категориальные данные в круговом формате с аннотациями, создаёт карты хромосом, генные дорожки и синтениические графики, построенные на Matplotlib, позволяя разработчикам настраивать каждый аспект визуализации, бесшовно интегрироваться с другими библиотеками и фреймворками Python и т.д. Разработчики программного обеспечения могут комбинировать pyCirclize с интерактивными фреймворками, такими как Dash или Streamlit, для создания веб‑приложений, а также оптимизировать производительность, эффективно обрабатывая большие наборы данных перед визуализацией.

Начало работы с pyCirclize

Рекомендуемый способ установки библиотеки pyCirclize — использовать PyPI. Пожалуйста, используйте следующую команду для беспроблемной установки.

Установите библиотеку pyCirclize через PyPI

pip install pycirclize

Установите библиотеку Py2pUML с помощью conda-forge

Install conda-forge package 

Создавайте диаграммы аккордов с помощью Python

Хордовые диаграммы идеальны для визуализации взаимосвязей между объектами. Открытая библиотека pyCirclize позволяет разработчикам программного обеспечения создавать хордовые диаграммы с настраиваемыми цветами, метками и стилями связей внутри Python‑приложений. Следующий пример демонстрирует, как создать хордовую диаграмму, показывающую взаимосвязи между объектами A, B, C и D с использованием команд Python.

Как создать диаграмму аккордов в приложениях Python?

from pycirclize import Circos
import matplotlib.pyplot as plt

# Define relationships
relationships = [
    ("A", "B", 5),
    ("A", "C", 3),
    ("B", "C", 2),
    ("C", "D", 7),
    ("D", "A", 4),
]

# Create Circos instance
circos = Circos(sectors=["A", "B", "C", "D"])

# Add chords
for source, target, value in relationships:
    circos.link((source, 0, 1), (target, 0, 1), color="skyblue", direction=1, ec="black", lw=1)

# Plot
circos.plot()
plt.show()

Поддержка круговых тепловых карт

Круговые тепловые карты — отличный способ представить данные в радиальном виде. Разработчики программного обеспечения могут использовать их для отображения матриц или иерархических данных в своих приложениях. Следующий пример кода генерирует круговую тепловую карту с использованием случайных данных. Вы можете расширить его, создав приложение, позволяющее пользователям загружать свои наборы данных и настраивать тепловую карту.

Как создать круговую тепловую карту с использованием библиотеки Python?

import numpy as np
from pycirclize import Circos

# Generate random data
np.random.seed(42)
data = np.random.rand(10, 10)

# Create Circos instance
circos = Circos(sectors=np.arange(10))

# Add heatmap
circos.heatmap(data, cmap="viridis")

# Plot
circos.plot()
plt.show()

Создание круговых столбчатых графиков

Круговые столбчатые графики идеально подходят для визуализации категориальных данных в круговом формате. Они высоко настраиваемы и могут включать аннотации. Открытая библиотека pyCirclize упрощает разработчикам программного обеспечения создание и управление круговыми столбчатыми графиками в Python‑приложениях. Следующий пример кода создает круговой столбчатый график, показывающий значения для различных категорий. Вы можете интегрировать его в приложение для исследования данных и составления отчетов.

Как создать круговую столбчатую диаграмму с использованием библиотеки Python?

import numpy as np
from pycirclize import Circos

# Generate random data
np.random.seed(42)
data = np.random.rand(10, 10)

# Create Circos instance
circos = Circos(sectors=np.arange(10))

# Add heatmap
circos.heatmap(data, cmap="viridis")

# Plot
circos.plot()
plt.show()

Визуализация геномных данных

Открытая библиотека pyCirclize особенно полезна для визуализации геномных данных в приложениях Python. Она предоставляет специализированные инструменты для визуализации геномных данных, такие как карты хромосом, генные дорожки и синтении графики. Ниже приведён полезный пример кода, позволяющий разработчикам создавать круговой график, представляющий хромосомы с их соответствующими размерами.

Как создать круговой график, представляющий хромосомы, с помощью Python?

from pycirclize import Circos

# Define chromosome sizes
genome = {
    "Chr1": 200,
    "Chr2": 150,
    "Chr3": 100,
}

# Create Circos instance
circos = Circos(sectors=genome)

# Add chromosome tracks
for sector in circos.sectors:
    sector.text(f"{sector.name}", size=15)
    sector.xticks_by_interval(50, label_size=10)

# Plot
circos.plot()
plt.show()