Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Gephi API example

Tags:

graph

graphml

Can somebody give me an example of how to display programmatically a graph with Gephi from a .graphml file? Thanks.

like image 793
user436390 Avatar asked Mar 16 '11 19:03

user436390


2 Answers

Gephi has upgraded their docs quite a bit and released a tutorial for beginners:

  • PDF: http://gephi.org/tutorials/gephi-tutorial-toolkit.pdf
  • Slideshow: http://www.slideshare.net/gephi/gephi-toolkit-tutorialtoolkit
like image 112
peteorpeter Avatar answered Sep 20 '22 23:09

peteorpeter


It depends on how you want to display your graph. Probably you are trying to import a graphml file and export it in some other format, like png or pdf, using Gephi.

Your Java class should do something like this:

File graphmlFile = new File("graph.graphml");

//Init a project - and therefore a workspace
ProjectController pc = Lookup.getDefault().lookup(ProjectController.class);
pc.newProject();
Workspace workspace = pc.getCurrentWorkspace();

// get import controller
ImportController importController = Lookup.getDefault().lookup(ImportController.class);

//Import file
Container container = importController.importFile(graphmlFile);

//Append imported data to GraphAPI
importController.process(container, new DefaultProcessor(), workspace);

//Export graph to PDF
ExportController ec = Lookup.getDefault().lookup(ExportController.class);
ec.exportFile(new File("graph.pdf"));

Of course, your graph.graphml file must include information about node positions, otherwise all nodes will be randomly placed in the visualization area.

To change visualization properties, you must change some PreviewModel properties, e.g:

PreviewController previewController = Lookup.getDefault().lookup(PreviewController.class);
PreviewModel model = previewController.getModel();
model.getProperties().putValue(PreviewProperty.SHOW_NODE_LABELS, Boolean.TRUE);
like image 34
André Panisson Avatar answered Sep 21 '22 23:09

André Panisson