2017-01-23 3 views
0

Ich finde Graph-Tool-Dokumentation extrem undurchsichtig und viel kryptischer als andere analoge Bibliotheken.Graph-Tool: Untergraphen als neue Graph-Objekte

Ich kann wirklich nicht herausfinden, wie Komponenten (aka verbundene Komponenten) aus einem Graphen in Graph-Tools "extrahieren". Ich möchte Teilgraphen in separaten Dateien als separate Diagramme speichern, aber ich verstehe nicht, wie ich sie anhand meines Graph-Objekts identifizieren kann.

Antwort

2

Der einfachste (und schnellste) Weg, dies zu tun ist, ein GraphView-Objekt zu verwenden.

# label the components in a property map 
c = label_components(g)[0] 

# "extract" component number 3 
u = GraphView(g, vfilt=c.a == 3) 

Das Objekt u ist jetzt ein Untergraph von g, die alle Eckpunkte des Komponentenbezeichnung 3. Hinweis enthält, dass ein GraphView Objekt nicht die Grafik kopiert, es ist einfach Masken aus den anderen Ecken/Kanten.

Wenn Sie eine Kopie des Subgraphen wollen (zB wenn Sie es ändern möchten, oder die ursprüngliche Grafik), Sie instanziiert gerade ein neues Graph Objekt von ihm:

u = Graph(u, prune=True) 

Weitere Informationen über Diagrammansichten ist verfügbar in der Dokumentation: https://graph-tool.skewed.de/static/doc/quickstart.html#graph-views

Verwandte Themen