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://pan.baidu.com/s/1EFsKn
针对下面很多评论提到了是否支持中文
因为上面采用的是MySQL可能在 显示的时候中文会乱码,
需要在连接的url上加上字符集 utf-8
我后来在SQL2005上测试 中文也可以显示。
附图片: