Can somebody give me an example of how to display programmatically a graph with Gephi from a .graphml file? Thanks.
Gephi has upgraded their docs quite a bit and released a tutorial for beginners:
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With