2016-06-01 9 views
3

Ich verwende Graph-Tool auf Python 3.5.1. Ich habe eine Graphik von Wörtern, mit Kanten zwischen Wörtern, die sich reimen. Wenn ich die Zeichenfunktion von graph-tool verwende, werden alle Scheitelpunkte überlappen, wenn ich die Scheitelpunkte zu groß mache, aber wenn sie zu klein sind, muss ich die Schrift verkleinern und sie ist dann unleserlich. Gibt es eine Möglichkeit, eine minimale Kantenlänge festzulegen oder zu zwingen, dass sich die Scheitelpunkte nicht überlappen?Stop Scheitelpunkte einander überlappen beim Zeichnen mit Graph-Tool

Codebeispiel:

import graph_tool.all as gt 

G = gt.load_graph("G.gt") 
gt.graph_draw(G, vertex_text=G.vertex_properties.word, vertex_font_size=10, output_size=(1000, 1000), output="G.png", vertexsize=10) 

See image here

Antwort

1

Haben Sie versucht graphviz_draw mit? Es hat eine overlap Einstellung, in der Sie die Software anweisen können, zu verhindern, dass sich Scheitelpunkte berühren. Die Syntax ist für die Funktion unterschiedlich, daher müssen Sie möglicherweise etwas suchen, aber wenn Sie sich die graphviz-Dokumentation anschauen, die im Graph-Tool-Handbuch verlinkt ist, sollten Sie alle Ihre Attribute finden können (http://www.graphviz.org/doc/info/attrs.html).