Візуалізація мереж

Вступ до аналізу мереж у Python

Eric Ma

Data Carpentry instructor and author of nxviz package

Нераціональні vs. раціональні візуалізації

Дві візуалізації великих графів. В обох випадках структура заплутана, наче клубок, тож її важко інтерпретувати.

Вступ до аналізу мереж у Python

Візуалізація мереж

  • Матричні графіки
  • Arc-графіки
  • Circos-графіки
Вступ до аналізу мереж у Python

Візуалізація мереж

  • Матричні графіки
  • Arc-графіки
  • Circos-графіки
Вступ до аналізу мереж у Python

Матричний графік

Матриця 3×3 зі стовпцями A, B, C і рядками A, B, C. Клітинки зафарбовано чорним, де відповідні вузли графа з'єднані. Поряд — граф із трьома вузлами A, B, C: A з'єднаний з B і C, а B і C без прямого зв'язку.

Вступ до аналізу мереж у Python

Матричний графік

Ті самі матриця і граф, але діагональ матриці зафарбовано сірим.

Вступ до аналізу мереж у Python

Матричний графік

Ті самі матриця і граф, але клітинки (A, B) та (B, A) позначено жовтим. Відповідне ребро між вузлами A і B у графі також жовте.

Вступ до аналізу мереж у Python

Матричний графік

Ті самі матриця і граф, але клітинки (A, C) та (C, A) позначено жовтим. Відповідне ребро між вузлами A і C у графі також жовте.

Вступ до аналізу мереж у Python

Спрямовані матриці

ch1-3.012.png

Вступ до аналізу мереж у Python

Візуалізація мереж

  • Матричні графіки
  • Arc-графіки
  • Circos-графіки
Вступ до аналізу мереж у Python

Arc-графік

Два графи з трьома вузлами кожен. У обох вузли A, B, C та ребра між A–B і A–C. Перший граф розташовує вузли в лінію й використовує вигнуті лінії як ребра. Другий — вузли на площині й прямі ребра.

Вступ до аналізу мереж у Python

Візуалізація мереж

  • Матричні графіки
  • Arc-графіки
  • Circos-графіки
Вступ до аналізу мереж у Python

Circos-графік

ch1-3.018.png

Вступ до аналізу мереж у Python

Circos-графік

Два графи з шістьма вузлами. Ліворуч вузли розміщено по колу й ребра — дуги. Праворуч вузли розташовано випадково й ребра — прямі лінії.

Вступ до аналізу мереж у Python

nxviz API

import nxviz as nv
import matplotlib.pyplot as plt

ap = nv.arc(G)
plt.show()
Вступ до аналізу мереж у Python

Давайте потренуємось!

Вступ до аналізу мереж у Python

Preparing Video For Download...