#graphviz
#graphviz
Вопрос:
У меня есть табличные данные со следующими полями, составляющими запись:
- SourceID
- Исходная метка
- SourceGroupID
- TargetID
- TargetLabel
- TargetGroupID
Я хотел бы преобразовать эти данные в формат graphviz DOT либо программно, либо как часть скрипта. В частности, я хотел бы кластеризировать узлы в соответствии с их идентификатором группы.
Похоже, что это было бы обычной задачей — существуют ли существующие инструменты / примеры кода (предпочтительно Python или R), которые делают это?
Ответ №1:
Похоже, библиотека NetworkX для Python может делать то, что вы хотите. Что вам нужно сделать, это прочитать список ребер (см. networkx.readwrite.edgelist ), обработать его для создания групп или чего-либо еще, что вам нужно, и записать файл Graphvis dot (см. networkx.drawing.nx_pydot.write_dot ).
NetworkX может выполнять другие визуализации графиков самостоятельно, без Graphvis (галерея, документы), и может экспортировать многие другие форматы, включая GraphML. Существует множество инструментов с открытым исходным кодом для визуализации графиков, которые могут импортировать GraphML, например, NodeXL, отличный вводный инструмент, который интегрирует сетевой анализ в Excel 2007/2010 (отказ от ответственности: Я консультант по этому вопросу). Другие замечательные инструменты включают Gephi и Cytoscape, в то время как Pajek и UCINet являются некоторыми проприетарными альтернативами.