Gephi API example
Can so开发者_如何学编程mebody 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:
- PDF: http://gephi.org/tutorials/gephi-tutorial-toolkit.pdf
- Slideshow: http://www.slideshare.net/gephi/gephi-toolkit-tutorialtoolkit
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);
精彩评论