XYGraph_Poster - swt-xy

Download Report

Transcript XYGraph_Poster - swt-xy

An Interactive XY Graph Plugin for SWT and GEF Applications
Xihui Chen, Kay Kasemir
Spallation Neutron Source, Oak Ridge National Laboratory
Why there
Screenshots
•Based on Draw2D and SWT
For thousands of scientific and engineering
projects, they all have some kind of functions
to visualize data in XY graphs. To reduce the
repeat work to recreate an XY graph over and
over again, a standard XY graph plugin was
developed based on Draw2D and SWT, which
makes it possible to embed it in any GEF or
SWT applications. So far, it has been
successfully integrated in CSS BOY[1] project
and CSS Data Browser[2] project.
The graph is simply a Draw2D Figure, so it can easily
embedded in any GEF or SWT applications.
•Light weight but powerful
Even with powerful functions, the full size of deliverable is
around 500KB including source code and help files. It doesn’t
have any dependencies other than SWT and Draw2D.
•High Performance
It has the ability to draw large amount of data (for example
10,000 samples) in few milliseconds. You can also implement
customized data provider with you own data compression
algorithm. When zoom in/out the plot area, the outside part
of plot area will not be drawn, which results in smoothly
zooming.
Abstract
What it can do
It not only has the full ability to draw most type
of charts, most important, it also brings
with powerful interactive operations.
•Support line chart, scatter chart, bar chart,
step chart, area chart and more…
•Automatically zoom, Rubberband Zoom,
Horizontal Zoom, Vertical Zoom
•Panning on both graph area and axes
•Autoscale
•Annotation support
•Multiple axes support
•Log scale, date time format support
•Grouping legends by axes
•Online Configuration for everything
•Customized data provider support
•Taking snapshot
•Undo/Redo
•And more ...
SNS is managed by UT-Battelle, LLC, under contract DEAC05-00OR22725 for the U.S. Department of Energy
Highlighted Features
•Easy to use
Concepts
SWT XYGraph is designed with the concept of components, so the
pieces which make up an XY graph can be easily added or deleted. For
example, you have the choice to have the toolbar or not; you can have
arbitrary number of axis, traces or annotations. What’s more, the
components can be easily reused for other applications. For example,
the Linear Scale has been reused for some CSS BOY[1] widgets such as
intensity graph, thermometer, tank, gauge and meter.
The interfaces of IDataProvider and
ISample give users the possibilities to
implement a different data provider
with different data source or data
storage
structure
for
their
applications.
The APIs are quite straightforward to use. You can also easily
hook listeners to any part or the whole XYGraph.
Where to get it
SWT XYGraph is free open source software distributed under
Eclipse Public License v1.0. You can get it from the project
website: http://code.google.com/p/swt-xy-graph/
References
[1] http://ics-web.sns.ornl.gov/css/boy.html
[2]https://sourceforge.net/apps/trac/csstudio/wiki/DataBrowser
Contact me: [email protected]