JSPlot is an open-source Javascript graph-plotting and vector-graphics library, designed for embedding scientific charts in websites. It is licensed under the Gnu General Public License (GPL v3), and can be downloaded from GitHub.

It supports a wide range of 2D and 3D chart types, which are designed to look similar to styles often seen in the scientific literature. Supported chart types include scatter charts, line charts, bar charts, plots with error bars, and more. Data can be either numerical or time stamps, making it easy to plot time-series data along axes which automatically render dates and times into an appropriate format.

Options are provided to make plots either static or interactive. In the latter case, the user can click and drag plots to scroll the axes or use the mouse wheel to zoom in/out. Such interactive charts are fully compatible with touch-screen devices, where pinch gestures are used to zoom.

Supported output media include HTML5 canvas objects, PNG files, and SVG files.

You can find out more by browsing the gallery of demos, which includes the source-code used to generate each example. A more formal description of JSPlot's API can be found here.