Преобразование табличных данных в графическом формате DOT - PullRequest
1 голос
/ 18 октября 2011

У меня есть табличные данные со следующими полями, составляющими запись:

  • SourceId
  • SourceLabel
  • SourceGroupID
  • TargetID
  • TargetLabel
  • TargetGroupID

Я хотел бы преобразовать эти данные в формат DOT graphviz либо программно, либо как часть сценария. В частности, я хотел бы кластеризовать узлы в соответствии с их GroupID.

Похоже, это было бы обычной задачей - существуют ли примеры инструментов / кода (предпочтительно Python или R), которые делают это?

1 Ответ

1 голос
/ 25 октября 2011

Похоже, что Библиотека NetworkX для Python может делать то, что вы хотите.Вам нужно прочитать список ребер (см. networkx.readwrite.edgelist ), обработать его для создания групп или чего-либо еще, что вам нужно, и записать файл точек Graphvis (см. ).networkx.drawing.nx_pydot.write_dot ).

NetworkX может самостоятельно выполнять другие графические визуализации без Graphvis ( gallery , docs ) и может экспортировать многие другие форматы , включая GraphML.Существуют тонны инструментов с открытым исходным кодом для визуализации графиков, которые могут импортировать GraphML, например NodeXL , отличный вводный инструмент, который интегрирует сетевой анализ в Excel 2007/2010 ( Отказ от ответственности: я советник для него).Другие замечательные инструменты включают Gephi и Cytoscape , в то время как Pajek и UCINet являются некоторыми проприетарными альтернативами.

...