Posted on Junl 02, 2008
Data Tables & Visual Abstraction.
Data Tables and Visualization Abstraction should be the most important part of whole prefuse. They represent the informational data and corresponding displayable visual properties. Java classes for Visual Abstraction are extended from those for Data Tables, so that programmer can manipulate Data Tables and their Visual Abstraction in a natural way. Pipeline and Package Overview should be kept in mind when further exploring prefuse in detail. The Quick Figures menu from left sidebar may be helpful.
To understand the structure of Java classes in prefuse, the UML class diagram is used for this purpose. Especially the inheritance and realization relations would be represented. The following figure illustrates an example of a class diagram.
Again, the Java package used for Data Tables is prefuse.data; for Visual Abstraction is prefuse.visual.
At first I would show the basic concept and structure between prefuse.data and prefuse.visual.
- Every piece of information (data) is represented as a Tuple.
- A TupleSet consists of one to many Tuples.
- A TupleSet (or VisualTupleSet) is similar to a table in database, and a Tuple (or VisualItem) is similar to an entry of such table.
- A TupleSet (or VisualTupleSet) has a metadata to define the attributes of its columns, for examaple, name, type and default value of columns. (Such metadata is stored in prefuse.data.Schema.
- A Tuple (or VisualItem) is a unique entry in a TupleSet (or VisualTupleSet). A Tuple consists of attribute vlaues which are exactly defined by the metadata of the storing TupleSet.
- Illustration of a TupletSet with metadata and Tuples.
- A TupleSet (or VisualTupleSet) has a metadata to define the attributes of its columns, for examaple, name, type and default value of columns. (Such metadata is stored in prefuse.data.Schema.
- The schema of TupleSet and the values of Tuple are mostly defined and assigned according to input Source Data.
- VisualTupleSet extends from TupleSet. It holds the schema from its extended TupleSet and has also a extra schema for visual attributes, for example, position, size ...etc.
- VisualItem extends from Tuple. It holds the data values as Tuple does and it contains additionally visual attribute values.
The following figure shows the detail of the prefuse.data.
- Edge and Node are two special Tuple. They can represent the data which has the tree or graph meaning.
- TableTuple, TableEdge and TableNode are prefuse default implementing Tuple.
- Table, Graph, Tree are typical implementing TupleSet.
- Graph and Tree are implemented with composite Tables.
The following figure shows the detail of the prefuse.visual.
- TableVisualItem, TableEdgeItem and TableNodeItem are typical implementing VisualItem.
- VisualGraph, VisualTree and VisualTable are typical implementing VisualTupleSet.
The following figure shows the detail of both prefuse.data and prefuse.visual.
- Many classes from prefuse.visual extend the classes from prefuse.data.
- SearchTupleSet from prefuse.data.search can be used for dynamic query (e.g. user search or query interaction).
0 comments:
Post a Comment