1. Introduction
The jsGraph library is a versatile javascript library that allows advanced charting to be rendered interactively in web browsers without relying on server-side image processing. jsGraph is released under the MIT license and is free of charge. While being highly customizable through an intuitive javascript API, jsGraph is optimized to render a large quantity of data in a short amount of time. jsGraphs can display line, scatter, contour or zone series. Examples can be consulted on the project home page [1]. Customization of the chart, its axis and its series is achieved through simple but comprehensive JSON configurations.
2. Versatility
Unlike most open-source javascript plotting libraries available for free, powerful mouse interaction and shape drawing APIs have been embedded is jsGraph to allow a better browsing and annotation of your data. To render graphics, the library employs the SVG technology that ensures high quality graphics even after magnification. The format is compatible with most scientific editorial guidelines. To compensate for the inherent lower repainting speed of SVG elements versus the GPU enhanced canvas technology, several layers of data optimization can be enabled. Our goal is to ensure that around 100,000 data points can be displayed within 100 ms on recent computers, allowing to display heavy scientific spectra without significantly slowing down the user interaction with the plot.
3. jsNMR
Among other available jsGraph wrappers for analytical chemistry (MS, GC-MS, IR, …), jsNMR [2] is a small wrapper library that facilitates loading jcamp files [3], displaying molecules [4], performing integration over the NMR spectra, performing automatic peak picking and assigning peaks to any atom in the molecule. Displaying and interacting with 2D NMR spectra from the web has never been easier.
4. Conclusions
jsGraph is a lightweight library that plots scientific datasets in an interactive fashion. It makes data browsing, interpretation, annotation or comparison much simpler through a versatile and easy-to-use API. It is a cross-browser library that works on most recent versions of most internet browsers. Through its extensions and speed optimization, jsGraph can truly compete with desktop-based softwares such as IGOR or Origin.
Acknowledgments
We thank all the contributors to the jsGraph and jsNMR project (the author list is available online at [5]).
Conflicts of Interest
The author declares no conflict of interest.
References
- jsGraph Project Homepage. Available online: http://jquery.org (accessed on 9 September 2014).
- jsNMR Project Homepage. Available online: http://github.com/NPellet/jsNMR (accessed on 9 September 2014).
- JcampConverter. Available online: https://github.com/cheminfo/jcampconverter (accessed on 9 September 2014).
- VisuMol Lightweight Library. Available online: https://github.com/NPellet/VisuMol (accessed on 9 September 2014).
- jsGraph and jsNMR Project Author List. Available online: https://github.com/NPellet/jsGraph/blob/master/AUTHORS (accessed on 9 September 2014).
© 2014 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).