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 chart types, including scatter charts, line charts, bar charts, and plots with error bars. Both 2D and 3D graphs are supported, and 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.

It is easy to make plots interactive, if required. The user can either click and drag the plot to scroll the axes, or use the mouse wheel to zoom in/out. Interactive charts are fully compatible with touch-screen devices, where pinch gestures are used to zoom.

JSPlot can render charts onto HTML5 canvas objects, to PNG files, or to 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.