A resposta de @elo está correta e votada positivamente, embora eu tenha que dar um jeito para ficar mais claro:
const myChartEl = document.getElementById('the-id-name');
const myChart = Highcharts.charts[myChartEl.getAttribute('data-highcharts-chart')];
myChart
em seguida, torna-se um objeto Highcharts ativo que expõe todos os adereços atuais presentes no gráfico que é renderizado no myChartEl
. Como myChart
é um objeto Highcharts , pode-se encadear métodos de protótipo logo após ele, estendê-lo ou fazer referência a ele.
myChart.getTable();
myChart.downloadXLS();
setTimeout(() => Highcharts.fireEvent(myChart, "redraw"), 10);
Também se pode chegar myChart
através de .highcharts()
, que é um jQuery
plugin:
var myChart = $("#the-id-name").highcharts();
A abordagem de jQuery
plug-in acima precisa jQuery
ser carregada antes que o plug-in seja usado e, claro, o próprio plug-in. Foi a ausência desse plug-in que me levou a procurar maneiras alternativas de fazer o mesmo com o JavaScript vanilla puro.
Usando a abordagem JS pura, consegui fazer o que precisava (o segundo trecho de código) sem ter que depender dejQuery
: