Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A sample of generating client side charts on the server using node
Branch: master
Pull request Compare This branch is 3 commits behind davidpadbury:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


An example library demonstrating how a browser based JavaScript graphing library (Highcharts) can be used from Node.


var fs = require('fs'),
    highcharts = require('node-highcharts'),
    options = {
        chart: {
            width: 300,
            height: 300,
            defaultSeriesType: 'bar'
        legend: {
            enabled: false
        title: {
            text: 'Highcharts rendered by Node!'
        series: [{
            data: [ 1, 2, 3, 4, 5, 6 ]

highcharts.render(options, function(err, data) {
    if (err) {
        console.log('Error: ' + err);
    } else {
        fs.writeFile('chart.png', data, function() {
            console.log('Written to chart.png');

Bar Chart


There's a few bits to do before the library will be ready for use.

  1. Cleanup jsdom window instance correctly.
  2. Cache window so we don't load jQuery+highcharts for every render.
  3. Use a local jQuery.
  4. Update to latest Highcharts version.
  5. Investigate using CanVG and node-canvas to render with no dependencies on the environment.
Something went wrong with that request. Please try again.