1 / 1

An Interactive XY Graph Plugin for SWT and GEF Applications Xihui Chen, Kay Kasemir

An Interactive XY Graph Plugin for SWT and GEF Applications Xihui Chen, Kay Kasemir Spallation Neutron Source, Oak Ridge National Laboratory. Why there. Screenshots. Highlighted Features.

Download Presentation

An Interactive XY Graph Plugin for SWT and GEF Applications Xihui Chen, Kay Kasemir

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Interactive XY Graph Plugin for SWT and GEF Applications Xihui Chen, Kay Kasemir Spallation Neutron Source, Oak Ridge National Laboratory Why there Screenshots Highlighted Features 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. • Based on Draw2D and SWT • 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. • Easy to use • The APIs are quite straightforward to use. You can also easily hook listeners to any part or the whole XYGraph. 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 ... 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. 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/ 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. References [1] http://ics-web.sns.ornl.gov/css/boy.html [2]https://sourceforge.net/apps/trac/cs-studio/wiki/DataBrowser SNS is managed by UT-Battelle, LLC, under contract DE-AC05-00OR22725 for the U.S. Department of Energy Contact me: chenxihui1981@gmail.com

More Related