Я использую 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? Это был бы бонус, если он мог поддерживать мультиграфы.
Я открыт для решений, которые вызывают внешнюю программу для создания изображений. Я бы хотел создать целую серию анимационных кадров, поэтому решение должно быть автоматизировано.