0
我有问题获取jgrapht或jgraph或applet以正确可视化此图形?我可以使用这个图库来可视化类似于下面的图片吗?例如,U代表x,V代表Y代码。我使用的是使用有向图的演示版本,在本例中也是这样。不知道我是否应该使用jgAdapter或jgxAdapter?目前变得空白的小程序。Java jgraph applet可视化二分图
public class GraphDemo extends JApplet{
private static final long serialVersionUID = 2202072534703043194L;
private static final Dimension DEFAULT_SIZE = new Dimension(530, 320);
private JGraphXAdapter<String, DefaultEdge> jgxAdapter;
public static void main(String[] args) {
JGraphAdapterDemo applet = new JGraphAdapterDemo();
applet.init();
JFrame frame = new JFrame();
frame.getContentPane().add(applet);
frame.setTitle("JGraphT Adapter to JGraph Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
public void init()
{
UndirectedGraph<String, DefaultEdge> g =
new SimpleGraph<String, DefaultEdge>(DefaultEdge.class);
jgxAdapter = new JGraphXAdapter<String, DefaultEdge>(g);
getContentPane().add(new mxGraphComponent(jgxAdapter));
resize(DEFAULT_SIZE);
String x1 = "x1";
String x2 = "x2";
String x3 = "x3";
String y1 = "y1";
String y2 = "y2";
String y3 = "y3";
String y4 = "y5";
g.addVertex(x1);
g.addVertex(x2);
g.addVertex(x3);
g.addVertex(y1);
g.addVertex(y2);
g.addVertex(y3);
g.addVertex(y4);
g.addEdge(x1, y1);
g.addEdge(x1, y2);
g.addEdge(x2, y1);
g.addEdge(x2, y4);
g.addEdge(x3, y2);
g.addEdge(x3, y3);
Set<String> p1 = new HashSet<String>(Arrays.asList(x1, x2, x3));
Set<String> p2 = new HashSet<String>(Arrays.asList(y1, y2, y3, y4));
HopcroftKarpBipartiteMatching<String, DefaultEdge> alg =
new HopcroftKarpBipartiteMatching<String, DefaultEdge>(g, p1, p2);
Set<DefaultEdge> match = alg.getMatching();
mxCircleLayout layout = new mxCircleLayout(jgxAdapter);
layout.execute(jgxAdapter.getDefaultParent());
System.out.println(g.toString());
System.out.println(match);
}
}
我一直与你的榜样和整合我的数据。我遇到了两个问题,我有大量的数据,并且我也意识到我的数据确实有孤立的顶点以便正确。你以前的功能是否类似于这种情况?另外我想我可以让屏幕尺寸更大来处理大集合? – MAXGEN
当您已经有预定义的数据集时,则不必使用“generateGraph ...”方法。除此之外:我提供了大量完美运行的例子来回答你的问题。如果您正在寻找为您编写完整应用程序的人,那么您不应该在Q/A网站上看到像stackoverflow那样的网站,而应该在职位交换网站上查看。 – Marco13
无论哪种方式感谢您花时间和回答。你有什么建议吗?你有没有参考他们中的任何一个? – MAXGEN