И это всё МОЁ

Нужна либа, которая рендерила бы направленный граф (возможно, с циклами), из соотв. структуры данных. Нужные фичи (более ли менее, но в порядке важности):




  1. чтобы можно было масштабировать картинку без проблем с очень широким диапазоном, ибо вершин будет несколько сотен тысяч;




  2. чтобы можно было делать надписи внутри вершин графа;




  3. Чтобы можно было задавать разные цвета конкретным вершинам и ребрам (в зависимости от типа, заданного в структуре вершин/ребер);




  4. чтобы можно было задавать размер точек вершин, хотя бы относительно (типа, вершина типа «A» в два раза больше вершины типа «Б»;);




  5. чтобы можно было задавать размер и цвет шрифта для веса/метки ребер;




  6. чтобы регенерация картинки была относительно быстрая при изменении содержимого графа (в идеале в реалтайм, типа я смотрю на граф, моя прога обнаруживает изменение содержимого графа, запускает визуализацию, и через, скажем 50мс все перерисовывается;




  7. чтобы можно было маппить от оконных координат относительно некоей референсной системы координат в оригинальном масштабе (100%) к соотв. структуре данных вершины или ребра.




  8. не слишком тупая автоматическая компоновка вершин (чтобы не было, как иногда в graphviz - а ля растянутая сосиска вместо компактненького пятна из вершин;




Может ли такое gnuplot?


Все, что пробовал использовать - какие-то немасштабируемые малофункциональные поделки типа graphviz.


Предпочтительно, конечно бесплатный опенсорс. Но если есть коммерческие state-of-the-art решения, то можно и такие рассмотреть.









 , ,