Mousika

天地孤影任我行

导航

Prefuse及相关数据结构可视化工具

这篇用了很多网上的资料。原来在51CTO上发表的。


 

这段时间在忙学校的SRT项目,关于信息检索可视化的。

本来打算用OpenGL做界面,后来导师说用Prefuse,恩,那是11月底,刚听说Prefuse,然后就各种百度、谷歌,CSDN上帖子也发了,发现没什么人用的·······尴尬啊!

虽然找到了Prefuse的官网,但除了源码包之外发现没什么东西,连文档都是在线版的,后来总算找到了chm格式的文档。

(文档下载:preuse-javadoc

VeryGood!


国外人就是不一样,Prefuse的作者在FAQ里面列举了几个可视化工具,大牛看得上眼的,自然也是大牛~要是国内的,估计只会说我的东西最好!其他的都是垃圾~看来技术这一块,还是要“崇洋”啊!

下面列一下:

Piccolo - A Java toolkit for structured 2D graphics using a scenegraph abstraction. http://www.cs.umd.edu/hcil/piccolo/

Processing - A graphics library and IDE serving as an artist's digital sketchbook. http://processing.org/

The Visualization Toolkit (VTK) - A 3D graphics and visualization toolkit. http://public.kitware.com/VTK/

JUNG - A Java graph processing and visualization library. http://jung.sourceforge.net/

The InfoVis Toolkit - A Java toolkit supporting a number of visualization techniques. http://ivtk.sourceforge.net/

Improvise - An application for end-user authoring of interactive visualizations. http://www.personal.psu.edu/

 

传几张官网上偷来的Prefuse效果图吧(其实土豆网上有个视频介绍的更好,但不够清晰)~

 

 

 


 

下面来抄一份别人的prefuse笔记吧!(说明:下面内容摘自http://turmoilchaosif.iteye.com/blog/1219415

prefuse是一个数据可视化的open source class library,我主要用它来可视化社交网络,我将在这里记下一些我摸索到的有意思的东西,与大家共勉。 
1.Graph的边权重值与边长关联 
刚开始我用的是RadialTreeLayout,一直在找直接或间接的设置边长的方法,都失败了;后来发现RadialTreeLayout的边长生成 与 选取节点后主要节点的转换有关系,所以放弃了使用RadialTreeLayout,转而使用ForceDirectedLayout,只需要覆盖掉getSpringCoefficient(EdgeItem e)方法即可自定义边长 
2.数据源 
我用的是GraphML格式的数据,这种标记语言不仅结构规范,而且可以轻松地添加自定义的节点和边的字段,它可以被GraphMLReader()直接读取,并转换为相应的数据结构。 
至于GraphML的生成,既可以用DOM4J等API生成,也可以调用JGraphT中GmlExporter导出 
3.汉字显示 
prefuse是可以显示汉字的,需要在定义相应的组件的字体的时候使用如,FontLib.getFont("微软雅黑", Font.PLAIN, 16) 
4.controls 
prefuse.controls下是一系列封装好的控制功能,只需要在对Display的实例调用addControlListener(),传入所需的control,即达到目的。也可以通过ControlAdapter自定义所需的control。 

posted on 2012-09-13 00:24  lujian863  阅读(534)  评论(0编辑  收藏  举报