Highcharts Demo

author(s): Torstein Hønsi

by Kesav Telaprolu

HTML

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/6.1.1/highcharts.js"></script>

<div  id="container"        
      style="width: 1240px;        
             height: 688px;               
             border-radius: 10px;               
             border: 1px solid #dbdbdb;
             overflow:auto;
             position:relative"></div>

CSS

/*
     * Legal Disclaimer
     *
        print '\n', 'Note that the webfonts share the TT sources'
     * These Fonts are licensed for unlimited use on domains and their subdomains of The Kantar Group.
     * It is illegal to download or use them on other websites.
     *
     * While the @font-face statements below may be modified by the client, this
     * disclaimer may not be removed.
     *
     * Lineto.com, 2016
     */
    
    
    
    @font-face {
        font-family: "KantarBrownWeb-LightItalic";
        src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.eot");
        src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.eot?#iefix") format("embedded-opentype"),
             url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.woff2") format("woff2"),
             url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-LightItalic.woff") format("woff");
        font-weight: normal;
        font-style: normal;
    }
    
    @font-face {
        font-family: "KantarBrownWeb-BoldItalic";
        src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.eot");
        src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.eot?#iefix") format("embedded-opentype"),
             url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.woff2") format("woff2"),
             url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-BoldItalic.woff") format("woff");
        font-weight: normal;
        font-style: normal;
    }
    
    @font-face {
        font-family: "KantarBrownWeb-Italic";
        src: url("https://riofontstorage.blob.core.windows.net/kantar-fonts/KantarBrownWeb-Italic.eot");
        src:...

JavaScript

(input => {
        var chartWrapper = $("<div></div>").appendTo("#container")
            .attr("id", "chart_wrapper");

        var chartDiv = $("<div></div>").appendTo("#chart_wrapper")
            .attr("id", "chart_div");

        $('#chart_wrapper').append(`<style>
    
    #chart_wrapper{
    
        width:1240px;
    height:688px;
    
    position:relative;
    
    padding: 35px 30px 20px 30px;
    
    box-sizing:border-box; 
    
    }
    
    #chart_div{
        
        width:100%;
        height:100%;
    }
    
    #chart_wrapper div {
    box-sizing:border-box;
    }
    </style>`)

        var brandLineColor = ["#f59031", "#00b6ed", "#81c341", "#84cee2", "#f6be00"]
        var chartDataSeries = [];
        for (var val = 0; val < input.chartData.data.length; val++) {
            var obj = {};
            obj["name"] = input.chartData.data[val].name;
            obj["data"] = input.chartData.data[val].data;
            obj["color"] = brandLineColor[val];
            obj["baseSize"] = input.chartData.data[val].bases;
        
            chartDataSeries.push(obj);
        }

        var i = 0;
        var maxDataValue = 0;
        var minDataValue = 0;
        var temp = +0;
        temp = +Math.max.apply(Math, input.chartData.data[0].data);
        maxDataValue = temp;
        for (i = 1; i < input.chartData.data.length; i++) {
            temp = +Math.max.apply(Math, input.chartData.data[i].data);
            if (parseInt(temp) > parseInt(maxDataValue)) {
                maxDataValue = temp;
            }
        }
        var temp2 = +0;
        temp2 = +Math.min.apply(Math, input.chartData.data[0].data);
        minDataValue = temp2;
        for (i = 1; i < input.chartData.data.length; i++) {
            temp2 = +Math.min.apply(Math, input.chartData.data[i].data);
            if (parseInt(temp2) < parseInt(minDataValue)) {
                minDataValue = temp2;
            }
        }

        var footerData = [],
            chosenBranddata...