|
|
Plot
Toolkit

The Plot components can be used for general plotting purpose, to display XY-plots
for example, or for more domain specific applications, including contour, seismic
or log displays. Some of the main features provided in the Plot Framework are
described below:
Flexible Design
- The Carnac Plot Framework provides two levels of functionality. The
first level consists of the plotting infrastructure. In order to be
able to display high performance and somewhat complex scientific visual
displays, the plotting infrastructure was designed to support the most
demanding requirements of low-level application framework programmers.
The components of the plotting infrastructure provide great flexibility
and full functionality at the expense of a somewhat more complex API.
The second level consists of higher-level components built on top of
the plotting infrastructure. These components were designed for those
who wish to quickly display standard looking plots with a minimum of
effort. The layers aren't opaque, allowing the programmers the ability
to use the higher-level components, while still providing access to
the plotting infrastructure when needed.
Axes and Grids
- The Carnac Plot Framework provides extensive axis support, including
linear and logarithmic axes, axes with fixed increments or adaptive
axes. Instead of being a single object with a multitude of properties
however, axes and grids are described by multiple objects that can be
used as building blocks. The flexibility of the design is further enhanced
by the fact that the user is allowed to add his own components by implementing
the documented interfaces.
Plot Layout
- A set of objects with simple API's is provided to facilitate the construction
and modification of single or composite plots. A plot is usually a combination
of single or multiple data frames, each surrounded by a number of axes
and/or annotation such as titles, headers or footers. The Plot Layout
controls the alignment of the plots, the behavior during resize operations,
and the dynamic addition and removal of plots.
Overlays
- Thanks to Carnac sophisticated view layer management, the Plot Framework
allows plot views to be stacked on top of each other to create powerful
overlays. Cache layers can be inserted between plot views to minimize
redrawing when editing a layer.
Plot Spaces
- Plot spaces (or coordinate spaces) are used to synchronize the mapping
transformations between individual plot scenes and their corresponding
axes. Changes in a plot space are propagated automatically to all the
attached view. Plot spaces are designed to simplify all viewing transformations,
including synchronized scrolling and zooming operations. GUI specific
components such as scrollbars can be tied directly to plot spaces.
Plot Scenes
and Visuals - Plot scenes are the primary component in the
Carnac Plot Framework. They encapsulate a generic interface that can
be used to model any specific input data type using Carnac primitives.
Plot scenes provide the data from which plot visuals are built. Since
the visual layout is independent of the nature of the data displayed
in the plot, no requirements are imposed on the types of scenes constituting
the plot. Thanks to Carnac advanced layering capabilities, it is possible
to build all sorts of composite plots. For example, in the case of the
GeoToolkit, a Contour plot scene can easily be overlaid on top of a
map, or even on top of a seismic plot scene.
|
|