You are currently viewing a new version of our website. To view the old version click .
Challenges
  • Technical Note
  • Open Access

18 September 2014

jsGraph and jsNMR—Advanced Scientific Charting

1
Laboratory of Photonics and Interfaces, Institute of Chemistry and Chemical Engineering, School of Basic Sciences, Ecole Polytechnique Fédérale de Lausanne, Station 6, CH-1015 Lausanne, Switzerland
2
Max-Planck-Institute for Solid-State Research, Heisenbergstrasse 1, 70569 Stuttgart, Germany 
This article belongs to the Special Issue Contest: Open Source Cheminformatic Tool / 9th Workshop in Chemical Information

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

  1. jsGraph Project Homepage. Available online: http://jquery.org (accessed on 9 September 2014).
  2. jsNMR Project Homepage. Available online: http://github.com/NPellet/jsNMR (accessed on 9 September 2014).
  3. JcampConverter. Available online: https://github.com/cheminfo/jcampconverter (accessed on 9 September 2014).
  4. VisuMol Lightweight Library. Available online: https://github.com/NPellet/VisuMol (accessed on 9 September 2014).
  5. jsGraph and jsNMR Project Author List. Available online: https://github.com/NPellet/jsGraph/blob/master/AUTHORS (accessed on 9 September 2014).

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.