Визуализация данных Entity–relationship graph

10 000 руб. за проект
28 ноября 2020, 18:53 • 4 отклика • 55 просмотров
Цель: получить интерфейс графа связей (блок-схемы, entity–relationship, network graph).
библиотека - самописная, любая бесплатная или за разумные деньги (не более 100$)

Основные требования:
1) Возможность раскрашивать вершины и связи
2) Возможность подписывать вершины и связи, притом подписи не должны закрывать друг друга
3) Интерфейс должен давать возможность добавлять/удалять/выделять вершины, связи, подписи. А также приближать граф, удалять, выводить на печать как часть, так и весь граф целиком а также сохранение в pdf/jpeg или аналог
4) вершины разной формы (круг, квадрат, ромб, прямоугольник, иконка font-awesome или аналог, изображение)
5) Вершина должна адаптироваться в зависимости от количества текста внутри него, в идеале текст внутри Вершины должен иметь возможность форматироваться посредством html или хотя бы изменяться размер/жирный/курсив/иконки
6) Связи должны иметь свойства: жирная, обычная, пунктир, точка-тире, стрелка в одну сторону, стрелка в обе стороны
7) Граф должен сам располагаться на рабочем поле таким образом чтобы он был читаемый, в идеале должна быть возможность применять разные методы расположения объектов (органический, иерархический, древовидный)
8) Рабочее поле должно быть «бесконечным» - не ограниченным размером окна/монитора. Возможность произвольности перетаскивать объекты на поле при этом подписи и объекты не должны перекрывать друг друга

Данные для графа планирую вытаскивать из БД, обрабатывать на python и передавать уже в ui, в дальнейшем потребуются Обратные вызовы на js - насколько я понимаю, в данной статье описывается что-то наподобие того что мне надо: https://m.habr.com/ru/company/skillfactory/blog/52...

Сейчас я сделал примитивную модель на python с использованием модуля pyvis - тоесть я достаю данные из БД, обрабатываю и просто кидаю код на html\js в .html-файл, потом его открываю и получается граф (некрасивый и не функциональный) - ссылка если интересно: https://dropmefiles.com/lwT7V

Принцип работы требуемого приложения в прикрепленном видео: https://dropmefiles.com/JAQMT