Flags placement

author(s): Torstein Hønsi

by Umair Rafiq

HTML

<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/data.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>


<div id="container"></div>

CSS

#container {
    height: 400px;
    min-width: 310px;
}

JavaScript

Highcharts.getJSON('https://cdn.jsdelivr.net/gh/highcharts/[email protected]/samples/data/usdeur.json', function (data) {

    var lastDate = data[data.length - 1][0],  // Get year of last data point
        days = 24 * 36e5; // Milliseconds in a day

    // Create the chart
    Highcharts.stockChart('container', {

        rangeSelector: {
            selected: 1
        },

        title: {
            text: 'USD to EUR exchange rate'
        },

        yAxis: [{
            title: {
                text: 'Exchange rate'
            },
            top: '15%',
            height: '85%'
        }, {
            height: '15%'
        }],

        series: [{
            name: 'USD to EUR',
            data: data,
            id: 'dataseries',
            tooltip: {
                valueDecimals: 4
            }
        }, {
            type: 'flags',
            name: 'Flags on series',
            data: [{
                x: lastDate - 60 * days,
                title: 'On series'
            }, {
                x: lastDate - 30 * days,
                title: 'On series'
            }, {
                x: lastDate - 31 * days,
                title: 'On series'
            }, {
                x: lastDate - 32 * days,
                title: 'On series'
            }, {
                x: lastDate - 33 * days,
                title: 'On series'
            }, {
                x: lastDate - 34 * days,
                title: 'On series'
            }, {
                x: lastDate - 35 * days,
                title: 'On series'
            },{
                x: lastDate - 160 * days,
                title: 'On series'
            }, {
                x: lastDate - 130 * days,
                title: 'On series'
            }, {
                x: lastDate - 131 * days,
                title: 'On series'
            }, {
                x: lastDate - 132 * days,
                title: 'On series'
            }, {
                x: lastDate - 133 * days,
         ...