2011-10-18 3 views
1

J'ai données tabulaires avec les champs suivants constituent un dossier:données tabulaires Convertir graphviz DOT Format

  • SourceID
  • SourceLabel
  • SourceGroupID
  • TargetID
  • TargetLabel
  • TargetGroupID

Je voudrais convertir ces données en format DOT graphviz soit par programmation ou dans le cadre d'un script. En particulier, j'aimerais regrouper les nœuds en fonction de leur GroupID.

Cela semble être une tâche courante - existe-t-il des exemples d'outils/codes (de préférence Python ou R)?

Répondre

1

Il semble que le NetworkX library pour Python puisse faire ce que vous voulez. Ce que vous devez faire est de lire dans une liste d'arêtes (voir networkx.readwrite.edgelist), le traiter pour créer les groupes ou toute autre chose dont vous avez besoin, et écrire le fichier de points Graphvis (voir networkx.drawing.nx_pydot.write_dot).

NetworkX peut faire d'autres visualisations graphiques sur lui-même sans GraphVis (gallery, docs), et peut exporter many other formats y compris graphml. Il y a des tonnes d'outils open source pour visualiser les graphes qui peuvent importer GraphML, comme NodeXL, un excellent outil d'introduction qui intègre l'analyse de réseau dans Excel 2007/2010 (Avertissement: Je suis un conseiller pour cela). Autres outils impressionnants comprennent Gephi et Cytoscape, tandis que Pajek et UCINet sont des alternatives propriétaires.

Questions connexes