Highcharts Demo: Marimekko

HTML

<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>
<div id="container" style="height: 420px; width:700px;"></div>

JavaScript

$(function () {
    var dataArray = [
        { name: 'A', x: 200, y: 120 },
        { name: 'B', x: 380, y: 101 },
        { name: 'C', x: 450, y: 84 },
        { name: 'D', x: 198, y: 75 },
        { name: 'E', x: 95, y: 55 }
    ];
    
    function makeSeries(listOfData) {
        var sumX = 0.0;
        for (var i = 0; i < listOfData.length; i++) {
            sumX += listOfData[i].x;
        }
        var allSeries = []
        var x = 0.0;
        for (var i = 0; i < listOfData.length; i++) {
            var data = listOfData[i];
            allSeries[i] = {
                name: data.name,
                data: [
                    [x, 0], [x, data.y],
                    {
                        x: x + data.x / 2.0,
                        y: data.y,
                        dataLabels: { enabled: false, format: data.x + ' x {y}' }
                    },
                    [x + data.x, data.y], [x + data.x, 0]
                ],
                w: data.x,
                h: data.y
            };
            x += data.x + 0;
        }
        return allSeries;
    }
    
	$('#container').highcharts({

	    chart: { type: 'area' },
        xAxis: {
            tickLength: 0,
            labels: { enabled: true}
        },
        yAxis: {
            title: { enabled: false}
        },
	    plotOptions: {
             series: {
                events: {
                    legendItemClick: function () {
                        var i = this.index;
                        var sname = this.name;
                        var chart = $('#container').highcharts();
                        while(chart.series.length > 0) {
                            chart.series[i].remove(true);
                        }
                    }
                }
            },
            area: {
                lineWidth: 0,
                marker: {
                    enabled: false,
                    states: {
                        hover: { enabled: false }
                ...