Next Article in Journal
The Detection and Characterization of Extrasolar Planets
Next Article in Special Issue
MyChEMBL: A Virtual Platform for Distributing Cheminformatics Tools and Open Data
Previous Article in Journal
On the Habitability of Aquaplanets
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Technical Note

jsGraph and jsNMR—Advanced Scientific Charting

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
Max-Planck-Institute for Solid-State Research, Heisenbergstrasse 1, 70569 Stuttgart, Germany 
Challenges 2014, 5(2), 294-295;
Submission received: 1 September 2014 / Revised: 9 September 2014 / Accepted: 9 September 2014 / Published: 18 September 2014

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.


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.


  1. jsGraph Project Homepage. Available online: (accessed on 9 September 2014).
  2. jsNMR Project Homepage. Available online: (accessed on 9 September 2014).
  3. JcampConverter. Available online: (accessed on 9 September 2014).
  4. VisuMol Lightweight Library. Available online: (accessed on 9 September 2014).
  5. jsGraph and jsNMR Project Author List. Available online: (accessed on 9 September 2014).

Share and Cite

MDPI and ACS Style

Pellet, N. jsGraph and jsNMR—Advanced Scientific Charting. Challenges 2014, 5, 294-295.

AMA Style

Pellet N. jsGraph and jsNMR—Advanced Scientific Charting. Challenges. 2014; 5(2):294-295.

Chicago/Turabian Style

Pellet, Norman. 2014. "jsGraph and jsNMR—Advanced Scientific Charting" Challenges 5, no. 2: 294-295.

Article Metrics

Back to TopTop