Ответ 2

Я выполнил поиск Google в "Визуализации графиков Python" и нашел некоторые вещи. Существует несколько библиотек, которые имеют поведение "spring", где программное обеспечение выравнивает график и делает его красивым; они выполняют большую часть работы для вас. Но они рисуют диаграммы графа, с узлами и ребрами, ничего похожего на диаграмму Санки.

Поиск Google на "Python sankey" не принес никаких полезных результатов.

Я выполнил некоторые поисковые запросы Google на "векторной графике Python" и нашел этот очень многообещающий результат:

http://pypi.python.org/pypi/Things

С вещами, видимо, вы рисуете основные фигуры в Inkscape (бесплатная программа редактирования векторов), а затем пишите Python для масштабирования, поворота и т.д. фигуры для создания изображения или анимации. Должно быть возможно написать код Python, чтобы автоматически сделать стрелки Sankey spring вдали от своих источников, поворот, вниз, что угодно.

См. также обсуждение StackOverflow рисования векторных диаграмм в Python: диаграммы svg с использованием python

Эта страница привела меня к: http://cairographics.org/ a > , который выглядит очень полезным.

В блоге, который вы связали, есть запись о статье о автоматическом создании диаграммы Sankey:

http://www.sankey-diagrams.com/sankey-diagrams-are-directed-weighted-graphs/

http://www.svgopen.org/2003/papers/RenderingGraphs/index.html

Я не нашел для вас решения "под ключ", но я нашел некоторые части, которые потенциально могут быть использованы в решении. Удачи.