How can I get access to a Highcharts chart through a DOM-Container? How can I get access to a Highcharts chart through a DOM-Container? javascript javascript

How can I get access to a Highcharts chart through a DOM-Container?


Highcharts 3.0.1

Users can use the highcharts plugin

var chart=$("#container").highcharts();

Highcharts 2.3.4

Read from the Highcharts.charts array, for version 2.3.4 and later, the index of the chart can be found from the data on the <div>

 var index=$("#container").data('highchartsChart'); var chart=Highcharts.charts[index];

All versions

Track charts in a global object/map by container id

var window.charts={}; function foo(){  new Highcharts.Chart({...},function(chart){        window.charts[chart.options.chart.renderTo] = chart;  });}function bar(){  var chart=window.charts["containerId"];}

Read Mode @ Highcharts Tips - Accessing Chart Object From a Container ID

P.S.

Some additions were made in the newer versions of Highcharts since writing this answer and have been taken from answers from @davertron, @Moes and @Przy, please upvote their comments/answers as they deserve the credit for these. Adding them here as this accepted answer would be incomplete without these


you can do this

var chart = $("#testDivId").highcharts();

check example on fiddler


var $chartCont = $('#container').highcharts({...}),    chartObj = Highcharts.charts[$chartCont.data('highchartsChart')];

chartCont is jQuery Object.chartObj is Highchart Chart Object.

This is using Highcharts 3.01