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