by Dr. Philip Wenig
Philip Wenig gives us a deeper look at the technologies behind his talk, Charts to the Eclipse people - The making-of.
What is more comprehensible: a table with tons of values or a chart? The answer depends on the point of view. The computer better "understands" the table. But we humans are very good when it comes to image recognition. Personally, I prefer the image too. Next question: Is a lightweight charting library available in the Eclipse ecosystem? Sure, solutions exist like Eclipse BIRT or the Eclipse Nebula visualization widgets. But I missed a library which can be easily used and extended.
OpenChrom, which depends on Eclipse ChemClipse, makes heavy use of SWTChart. The main requirement for Eclipse ChemClipse was to plot chromatograms "line series", mass spectra "bar series" and scatter plots, figure 1.
SWTChart is a lightweight library, published under the EPL. It offers a well-designed and extensible API. So I was able to create specialized charts for chromatograms, mass spectra and scatter plots based on SWTChart. After years of experience how to use the library, I made the decision to refactor my extensions and remove the dirty-hacks I've added over the time. But instead of doing it for ChemClipse only, I thought it's better to refactor the extensions in a generic way, so that other Eclipse projects can re-use the library too. A good place to migrate the code and to develop a more generic charting library, based on SWTChart, is Eclipse EAVP. Some implementations have been migrated and refactored already – see „org.eclipse.eavp.service.swtchart“, figure 2. Note that refactorings are in progress and the library is under active development.
I have already added some enhancements, which are not available by default in SWTChart. As shown in figure 2, a horizontal scrollbar is available now. Furthermore, several axes can be set and displayed. Everything is configurable via settings. The configuration of user specific charts shall be as easy as possible.
The current development is an early preview. It hopefully encourages people to file their feature requests as early as possible, so that suitable technical solutions can be found. The library is not specifically designed for Eclipse Science projects but for all interested parties who need charting capabilities.