我使用以下代码显示图表:
graph = new Graph(true);
vis = new Visualization();
vis.add(GRAPH, graph);
CustomLabelRenderer re = new CustomLabelRenderer();
re.setImageField(NODE_TYPE_IMAGE);
re.setImagePosition(Constants.TOP);
EdgeRenderer edgeRenderer = new EdgeRenderer(Constants.EDGE_TYPE_LINE, Constants.EDGE_ARROW_FORWARD);
edgeRenderer.setArrowType(Constants.EDGE_ARROW_FORWARD);
edgeRenderer.setArrowHeadSize(10, 10);
DefaultRendererFactory factory = new DefaultRendererFactory(re, edgeRenderer);
factory.add(new InGroupPredicate(EDGE_DECORATORS), new LabelRenderer(VisualItem.LABEL));
vis.setRendererFactory(factory);
Run Code Online (Sandbox Code Playgroud)
如您所见,实例化图形以使用有向边.然后我将EdgeRenderer设置为使用箭头.但是,我看不到边缘上的任何箭头,只是简单的线条.我究竟做错了什么?
这就是我添加边缘的方式:
graph.addEdge(node1, node2);
Run Code Online (Sandbox Code Playgroud)
小智 6
您需要设置FILLCOLORfor边缘:
filter.add(new ColorAction(edges, VisualItem.FILLCOLOR,
ColorLib.rgb(100,100,100));
Run Code Online (Sandbox Code Playgroud)
我重现了RadialGraphView演示的问题,除了这一行,我不需要对源代码进行任何更改.(虽然,我不得不更改数据文件.)