Gephi Toolkit 0.9.1을 수동으로 사용하여 그래프를 만들고 표시하려하지만 올바른 출력을 얻지 못하는 것 같습니다. 파일을 가져 와서 그로부터 그래프를 만드는 많은 코드를 보았습니다.하지만이 메서드는 컨테이너를 사용합니다.이 컨테이너는 가져올 항목이없는 경우 의미가없는 것처럼 보입니다. 아래는 내 코드입니다 (대부분은 함께 데모 코드 조각입니다). 아래는 제가 얻고있는 디스플레이에 대한 링크입니다. 이것은 단색의 직사각형입니다. 가장자리 색상을 변경했을 때 디스플레이가 그에 따라 변경 되었기 때문에 가장자리로 보입니다 (이상하게도 형식이 틀립니다). 나는 노드 2 개와 에지 1 개뿐만 아니라 노드 3 개와 에지 2 개로 시도했다. 둘 다 정확히 똑같은 출력을 가지고 있습니다. 저는 Gephi Toolkit을 사용하는 것에있어 매우 새로운 것이므로 실수가 상당히 간단하다는 것과 확신 할 만하다고 생각합니다. 고맙습니다!Gephi Toolkit 0.9.1로 수동으로 생성 된 그래프를 올바르게 표시 할 수 없음
제이슨
public class BasicGraphBuild {
public static void main(String[] args) {
BasicGraphBuild bscGraphBuild = new BasicGraphBuild();
bscGraphBuild.script();
}
public void script() {
ProjectController pc =
Lookup.getDefault().lookup(ProjectController.class);
pc.newProject();
Workspace workspace = pc.getCurrentWorkspace();
GraphModel graphModel = Lookup.getDefault()
.lookup(GraphController.class).getGraphModel();
Node n0 = graphModel.factory().newNode("n0");
n0.setLabel("Node 0");
Node n1 = graphModel.factory().newNode("n1");
n1.setLabel("Node 1");
Node n2 = graphModel.factory().newNode("n2");
n2.setLabel("Node 2");
Edge e1 = graphModel.factory().newEdge(n0, n1, 0, 1.0, true);
Edge e2 = graphModel.factory().newEdge(n0, n2, 0, 1.0, true);
DirectedGraph directedGraph = graphModel.getDirectedGraph();
directedGraph.addNode(n0);
directedGraph.addNode(n1);
directedGraph.addNode(n2);
directedGraph.addEdge(e1);
directedGraph.addEdge(e2);
// Preview configuration
PreviewController previewController =
Lookup.getDefault().lookup(PreviewController.class);
PreviewModel previewModel = previewController.getModel();
previewModel.getProperties().putValue(PreviewProperty.EDGE_CURVED,
Boolean.FALSE);
previewModel.getProperties().putValue(PreviewProperty.DIRECTED,
Boolean.TRUE);
previewModel.getProperties().putValue(PreviewProperty.EDGE_COLOR,
new EdgeColor(Color.CYAN));
// previewModel.getProperties().putValue(PreviewProperty.EDGE_OPACITY,
// 50);
// previewModel.getProperties().putValue(PreviewProperty.EDGE_RADIUS,
// 10f);
previewModel.getProperties().putValue(PreviewProperty.BACKGROUND_COLOR,
Color.WHITE);
// New Processing target, get the PApplet
G2DTarget target = (G2DTarget) previewController
.getRenderTarget(RenderTarget.G2D_TARGET);
PreviewSketch previewSketch = new PreviewSketch(target);
previewController.refreshPreview();
previewSketch.resetZoom();
// Add the applet to a JFrame and display
JFrame frame = new JFrame("Test Preview");
frame.setLayout(new BorderLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(previewSketch, BorderLayout.CENTER);
frame.setSize(1024, 768);
frame.setVisible(true);
}
}