(function () {
var script = document.getElementById('highcharts-script');
function addChart() {
function parseData(completeHandler, chartOptions) {
try {
var dataOptions = {
"seriesMapping": [
{
"x": 0
},
{
"x": 0
},
{
"x": 0
}
],
"columnTypes": [
"string",
"string",
"string",
null
],
"csv": "Year,Started,Completed,Current Government target\n1969-70,287310,378320,200000\n1970-71,268660,362230,200000\n1971-72,294280,364480,200000\n1972-73,300520,330940,200000\n1973-74,280010,304640,200000\n1974-75,206450,279580,200000\n1975-76,274500,321940,200000\n1976-77,279210,324770,200000\n1977-78,232730,314090,200000\n1978-79,226680,288600,200000\n1979-80,190580,251820,200000\n1980-81,130910,241990,200000\n1981-82,133870,206570,200000\n1982-83,167160,182820,200000\n1983-84,193310,208900,200000\n1984-85,173220,220270,200000\n1985-86,186410,207570,200000\n1986-87,200430,215510,200000\n1987-88,200790,226230,200000\n1988-89,219950,242360,200000\n1989-90,166380,221520,200000\n1990-91,128620,197210,200000\n1991-92,137940,191250,200000\n1992-93,133740,178420,200000\n1993-94,154080,186850,200000\n1994-95,159780,195580,200000\n1995-96,132990,197710,200000\n1996-97,153240,185940,200000\n1997-98,156170,190760,200000\n1998-99,147190,178290,200000\n1999-00,149730,184010,200000\n2000-01,140490,175370,200000\n2001-02,149010,174200,200000\n2002-03,153070,183210,200000\n2003-04,162330,190590,200000\n2004-05,174310,205390,200000\n2005-06,183360,210310,200000\n2006-07,170320,215210,200000\n2007-08,170440,215860,200000\n2008-09,88010,178550,200000\n2009-10,95560,151220,200000\n2010-11,111150,136010,200000\n2011-12,110820,145780,200000\n2012-13,103520,133000,200000\n2013-14,135410,138350,200000\n2014-15,142690,152520,200000\n2015-16,141490,,200000"
};
dataOptions.sort = true
dataOptions.complete = completeHandler;
Highcharts.data(dataOptions, chartOptions);
} catch (error) {
console.log(error);
completeHandler(undefined);
}
}
var shareUrl = 'https://app.everviz.com/show/iwicyc';
var encodedUrl = encodeURIComponent(shareUrl);
var template = {
chart: {
renderTo: 'highcharts-iwicyc'
},
navigation: {
menuItemStyle: {
fontFamily: Highcharts.SVGRenderer.prototype.getStyle().fontFamily,
padding: '2px 10px'
}
},
exporting: {
buttons: {
contextButton: {
menuItems: [{
text: '' +
'Share on Facebook'
}, {
text: '' +
'Share on Google+'
}, {
text: '' +
'Share on Twitter'
}, {
text: '' +
'Share on LinkedIn'
}, {
separator: true
}]
.concat(Highcharts.getOptions().exporting.buttons.contextButton.menuItems)
.concat([{
separator: true
}, {
text: '' + 'Edit chart'
}, {
text: '' + 'Create chart'
}])
}
}
}
};
var chartOptions = {
"yAxis": {
"title": {
"text": "Number of Homes"
}
},
"credits": {
"text": "DCLG",
"href": "https://www.gov.uk/government/statistical-data-sets/live-tables-on-house-building#live-tables"
},
"series": [
{
"marker": {
"enabled": false
},
"index": 0
},
{
"marker": {
"enabled": false
},
"index": 1
},
{
"color": "#df1032",
"dashStyle": "LongDash",
"marker": {
"enabled": false
},
"index": 2
}
],
"title": {
"text": "Homes started and completed in the UK"
},
"chart": {
"type": "line"
}
};
parseData(function (dataOptions) {
// Merge series configs
if (chartOptions.series && dataOptions) {
Highcharts.each(chartOptions.series, function (series, i) {
chartOptions.series[i] = Highcharts.merge(series, dataOptions.series[i]);
});
}
var options = Highcharts.merge(dataOptions, chartOptions, template);
var chart = new Highcharts['Chart'](options);
}, chartOptions);
}
// Load the Highcharts script if undefined, and add the chart
if (typeof Highcharts !== 'undefined') {
addChart();
} else if (script) {
script.deferredCharts.push(addChart);
} else {
script = document.createElement('script');
script.id = 'highcharts-script';
script.src = '//app.everviz.com/resources/js/highstock-cloud-5.0.7.js';
script.type = 'text/javascript';
script.deferredCharts = [addChart];
script.onload = function () {
// Prevent double firing of event in IE9/IE10
if (!script.chartsAdded) {
script.chartsAdded = true;
while(script.deferredCharts.length) {
script.deferredCharts.shift()();
}
}
};
script.onreadystatechange = function() {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
script.onload();
}
};
document.getElementsByTagName('head')[0].appendChild(script);
}
}());