Highcharts Demo

author(s): Torstein Hønsi

by marcalj

HTML

<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<script type="text/javascript" src="http://canvg.googlecode.com/svn/trunk/rgbcolor.js"></script> 
<script type="text/javascript" src="http://canvg.googlecode.com/svn/trunk/canvg.js"></script> 
<p>Highcharts</p>
<div id="container" style="height: 400px; width: 800px; margin-top: 1em"></div>
<p>Canvas</p>
<canvas id="canvas"></canvas>
<p>Image</p>
<div id="image"><div>

JavaScript

$(function () {
    var chart = new Highcharts.Chart({
        
        chart: {
            renderTo: 'container'
        },
        
        credits: {
            enabled: false
        },
        
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        
        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]        
        }],
        
        navigation: {
            buttonOptions: {
                enabled: false
            }
        },
        exporting: {
            type: 'image/jpeg'
        }
        
    });
    
    var chart_svg = chart.getSVG();                    
    var chart_canvas = document.getElementById('canvas');
    // Get chart aspect ratio
    var c_ar = chart.chartHeight / chart.chartWidth;
    
    // Set canvas size
    chart_canvas.width = 1280;
    chart_canvas.height = chart_canvas.width * c_ar;
    
    canvg(chart_canvas, chart_svg, {
        ignoreDimensions: true,
        scaleWidth: chart_canvas.width,
        scaleHeight: chart_canvas.height
    });
                    
    var chart_img = chart_canvas.toDataURL('image/png');
                    
    jQuery('#image').append('<img src="' + chart_img + '" />');
});