Prefuse is an extensible software framework for helping software developers create interactive information visualization applications using the Java programming language. It can be used to build standalone applications, visual components embedded in larger applications, and web applets. Prefuse intends to greatly simplify the processes of representing and efficiently handing data, mapping data to visual representations (e.g., through spatial position, size, shape, color, etc), and crafting direct manipulation interaction with the visualized data. Some of the features of prefuse include:
Prefuse 是一个可扩展的软件框架,它可以帮助使用java语言的开发者开发交互的信息可视化程序。它可以用来建立独立的应用程序,在大型应用中的可视化组件和web applets。Prefuse的目标是1简化处理数据过程的开发,2建立数据和显示的图形的联系(特别是图形的大小,位置,形状,颜色),3建立交互的可视化数据显示,prefuse有如下的特征:
·
Table, Graph, and Tree data structures supporting arbitrary data attributes, data indexing, and selection queries, all with an efficient memory footprint.
· 支持由表,图,树组成的数据结构,字段的数据索引和选择列的查询,并且高效的利用内存。
· Components for layout, color, size, and shape encodings, distortion techniques, animation, and more.
· 已存的组件帮助完成布局,颜色,大小和形状设定,变形,动画及更多功能。
· A library of interaction controls for common interactive, direct-manipulation operations.
· 包括与用户交互和操作的一组库函数
· Animation support through a general activity scheduling mechanism.
· 通过一组活动的时序机制来实现动画
· View transformations supporting panning and zooming, including both geometric and semantic zooming.
· 可视化的变形效果,包括物体位置移动和通过空间和语义的放大放小
· Dynamic queries for interactive filtering of data.
· 动态查询过滤数据显示
· Integrated text search using a number of available search engines.
· 融合使用了lucene文本查询engines
· A physical force simulation engine for dynamic layout and animation.
· 在位置和动画中利用了物理学中力的摸拟
· Flexibility for multiple views, including "overview+detail" and "small multiples" displays.
· 灵活的多种显示方式,包括概貌+详细的方式和多个显示图
· A built in, SQL-like expression language for writing queries to prefuse data structures and creating derived data fields.
· 内建类似于SQL的语言语句可以针对数据进行行和列的操作
· Support for issuing queries to SQL databases and mapping query results into prefuse data structures.
· 支持数据库的查询结果集合和prefuse内部数据的映射
(and perhaps most importantly)或许以下更重要
· Simple, developer-friendly APIs for creating custom processing, interaction, and rendering components.
· 可以利用经过简化的,对开发者友好的API,建立自定义的过程,用户交互和画图像的组件。
The rest of this manual assumes at least a basic familiarity with the Java programming language, including setting up and building Java projects. A knowledge of Swing or another similar user interface toolkit is also of great help for understanding some of the concepts behind prefuse and for integrating prefuse visualizations into larger applications. Experience with database systems is also helpful (especially if using the built-in prefuse expression language for data manipulation), but is not required.
要有一些java开发的基础知识,Swing和数据库主面的经验很重要。