2016-04-08 6 views
2

Ich bin auf der Suche nach einem Werkzeug zur automatischen Erstellung von Graphen mit Gephi. Ich habe Dutzende von ähnlichen Graphen herzustellen (nur Etiketten und Zahlen in Daten unterscheiden), so müssen etwas der Lage, automatisch:Gephi-Automatisierung: Wie man mehrere Graphen gleichzeitig erstellt

  • Last Knoten und Kanten aus einer Datei (zB csv)
  • einrichten Layout (zB "type = 'Kraft Atlas 2', = n Iterationen, threads = m, Skalierung = p, q = Gravitations ...")
  • apply ausgewählt laoyut
  • tune Aussehen (Ranking: Farbe, Größe)
  • Exportgrafik

Ich kenne Gephi Toolkit, aber es ist für Java. Vielleicht gibt es einen anderen Weg, um Gephi zu automatisieren? (oder ich muss Java lernen, was nicht schlecht ist, aber Zeit benötigt)

Ich habe auch Gephi Scripting Plugin gefunden, was gut ist, aber einige Funktionen fehlen, z.B. kann das Layout nicht einrichten (es wird nur mit den Standardeinstellungen ausgeführt).

Vielen Dank im Voraus!

+0

Schreiben Sie in Python? –

+0

Ja, ich schreibe in Python. – mmaks

+0

Dieser Thread könnte nützlich sein: http://stackoverflow.com/questions/91179/automated-tests-for-java-swing-guis –

Antwort

0

Es ist ein bisschen schwierig und habe mich selbst nicht versucht, aber wenn Sie nicht mit Java naß werden wollen, dann könnten Sie eines der Automatisierungsframeworks ausprobieren, mit denen Sie eine GUI-Anwendung steuern können, z. Robot, PyAutoGUI oder wenn Sie Windows verwenden, können Sie pywinauto verwenden.

Ich weiß es nicht eine vollständige Antwort, aber es könnte Ihnen einen Anhaltspunkt geben.

+0

Ich habe Gephi installiert. Wie ich sehen kann, ist es SunAWT-Anwendung. Mir sind keine Automatisierungswerkzeuge bekannt, die es aus Java automatisieren können. Wenn Sie ein solches Werkzeug kennen, lassen Sie es mich wissen. Übrigens, selbst Windows-Benutzerschnittstellenautomatisierungs-API kann GUI-Steuerelemente in Gephi-Dialogen nicht sehen. –

+0

Natürlich können Sie einige auflösungsabhängige Dinge wie 'app.Dialog.ClickInput (coords = (32, 120))' schreiben, aber es ist nicht gut portierbar, wenn Sie es auf mehreren Rechnern verwenden. Und es ist nicht lesbar genug. –