parsen mehrere Digraphen in einer Punktdatei

8

Ich versuche, ein Diagramm im DOT-Format zu verarbeiten und zu rendern. Die Punktdatei, die ich habe, ist groß (~ 300MB) und enthält mehrere Digraphen

%Vor%

Ich habe zwei Fragen:
1. Ist es möglich, nur 1 Digraph anstelle des gesamten Graphen zu verwenden? Etwas wie dot -3 -Tps mygraph.dot -o out.ps , um nur Digraph 3 darzustellen?

2.Was ist die beste Python-Bibliothek, um das Punktformat zu verarbeiten (andere Sprachen sind ebenfalls akzeptabel)
Hier sind zwei Ich habe versucht, aber nicht gut genug
pydot Es gibt mir eine Digraph-Liste nach dem Importieren, das ist gut, aber es nicht behandelt "." im Knotennamen. Zum Beispiel wird nd.nd [label="nd_node"] fehlschlagen

pygraphviz Es behandelt ".", importiert aber nur Digraph 1, wenn mehrere Graphdefinitionen in einer Datei angegeben sind: (

    
Wei Shi 28.02.2011, 22:58
quelle

2 Antworten

1

Da Sie dot haben, sollten Sie auch gvpr , ein Graph-Bearbeitungswerkzeug, haben. Sie können den dritten Graphen mit einem einfachen gvpr -Skript ausdrucken, etwa so:

%Vor%

Dann können Sie dies als Quellenfilter verwenden:

%Vor%     
Ryan Fox 29.02.2012, 04:06
quelle
2

Nicht sicher, ob dies das ist, was Sie wollten, aber Sie müssen nur einen einfachen Parser schreiben, oder wie immer Sie es nennen wollen. Der pygraphviz behandelt die Dateieingabe durch einfaches Lesen und Parsen wie bei einer String-Eingabe.

Also wäre ein Beispiel Code:

%Vor%     
syang 29.11.2011 01:07
quelle

Tags und Links