Я использую Python для имитации процесса, происходящего на ориентированных графах. Я хотел бы произвести анимацию этого процесса.
Проблема, с которой я столкнулся, заключается в том, что большинство библиотек Python для визуализации графов объединяют пары направленных ребер в одно ребро. Например, NetworkX рисует только два ребра при отображении следующего графика, в то время как я хотел бы отображать каждое из четырех ребер отдельно:
import networkx as nx
import matplotlib.pyplot as plt
G = nx.MultiDiGraph()
G.add_edges_from([
(1, 2),
(2, 3),
(3, 2),
(2, 1),
])
plt.figure(figsize=(8,8))
nx.draw(G)
Я хотел бы отображать что-то вроде этого, с каждым параллельным ребром отдельно:
Вопрос Взаимные ребра R в igraph в R , кажется, имеет дело с той же проблемой, но решение есть для библиотеки R igraph, а не для Python.
Есть ли простой способ создать график такого типа, используя существующую библиотеку визуализации графов Python? Было бы неплохо, если бы он мог поддерживать мультиграфы.
Я открыт для решений, которые вызывают внешнюю программу для создания изображений. Я хотел бы создать целую серию анимационных кадров, поэтому решение должно быть автоматизировано.