Prefuse學習(二)從資料庫中讀取資料

NO IMAGE

prefuse是一個非常不錯的開源視覺化專案,尤其是用在social network/complex network上,個人感覺要比jung好。不過可惜的是,prefuse的user manual還在建設中,並且google resource也少得可憐。好在開源提供了原始碼,只好看原始碼了,呵呵。

prefuse user manual上提供了一個簡單的例子,這個例子的資料來自一個符合GraphML標準的xml檔案(socialnet.xml),大致內容如下:

xml 程式碼

大致就是這個樣子,程式也比較簡單。但是不可能在想要視覺化某個社群網路的時候,資料都來自xml,其實大部分還是來自資料庫的。prefuse支援從資料庫直接獲取資料。不過它的user manual上沒講。只好自己探索。

先建立一個在mysql上測試資料庫。一個代表節點,一個代表邊。

 

接下來隨便在兩個表中插入幾條資料,需要注意的是edge表中,sid和tid一定要在node表中存在(即node表中有id與其對應),否則prefuse在讀取時會丟擲異常。

接下來是程式了:

java 程式碼
執行後效果圖:
 
下載地址:http://vdisk.weibo.com/s/bVYuL
 
                              http://pan.baidu.com/s/1JIGZ
 
 這裡也收藏了一些應用下載地址:http://pan.baidu.com/s/1EFsKn
 
針對下面很多評論提到了是否支援中文
因為上面採用的是MySQL可能在 顯示的時候中文會亂碼,
需要在連線的url上加上字符集 utf-8
我後來在SQL2005上測試 中文也可以顯示。
附圖片: