user436390
user436390

Reputation: 269

Gephi API example

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

Upvotes: 6

Views: 7903

Answers (2)

André Panisson
André Panisson

Reputation: 897

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);

Upvotes: 5

peteorpeter
peteorpeter

Reputation: 4107

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

Upvotes: 5

Related Questions