ElementStacks

HTML

<script type="text/javascript" src="http://www.highcharts.com/js/testing-exporting.js"></script>

<div id="container" style="height: 600px;margin-top:20px;width: 900px"></div>

JavaScript

/**
 * Create the data table
 */
Highcharts.drawTable = function() {
    
    // user options
    var tableTop = 310,
        colWidth = 60,
        tableLeft = 20,
        rowHeight = 20,
        cellPadding = 2.5,
        valueDecimals = 1,
        valueSuffix = ' °C';
        
    // internal variables
    var chart = this,
        series = chart.series,
        renderer = chart.renderer,
        cellLeft = tableLeft;

    // draw category labels
    $.each(series, function(serie_index, serie) {
        renderer.text(
            serie.name, 
            cellLeft + cellPadding, 
            tableTop + (serie_index + 2) * rowHeight - cellPadding
        )
        .css({
            fontWeight: 'bold'
        })       
        .add();
    });

    $.each(chart.xAxis[0].categories, function(category_index, category) {
        cellLeft += colWidth;
        
        // Apply the cell text
        renderer.text(
                category,
                cellLeft - cellPadding + colWidth, 
                tableTop + rowHeight - cellPadding
            )
            .attr({
                align: 'right'
            })
            .css({
                fontWeight: 'bold'
            })
            .add();
        
        $.each(series, function(i) {
            
            
            renderer.text(
                    Highcharts.numberFormat(series[i].data[category_index].y, valueDecimals) + valueSuffix, 
                    cellLeft + colWidth - cellPadding, 
                    tableTop + (i + 2) * rowHeight - cellPadding
                )
                .attr({
                    align: 'right'
                })
                .add();
     
        });
        
        
        
    });
    
        
};

/**
 * Draw a single line in the table
 */
Highcharts.tableLine = function (renderer, x1, y1, x2, y2) {
    renderer.path(['M', x1, y1, 'L', x2, y2])
        .attr({
            'stroke': 'silver',
            'stroke-width': 1
        })
       ...