La risposta di @elo è corretta e votata positivamente, anche se ho dovuto riordinarla un po 'per renderla più chiara:
const myChartEl = document.getElementById('the-id-name');
const myChart = Highcharts.charts[myChartEl.getAttribute('data-highcharts-chart')];
myChartquindi diventa un oggetto Highcharts live che espone tutti gli oggetti di scena presenti nel grafico che viene visualizzato nel file myChartEl. Poiché myChartè un oggetto Highcharts , è possibile concatenare metodi prototipo subito dopo, estenderlo o fare riferimento ad esso.
myChart.getTable();
myChart.downloadXLS();
setTimeout(() => Highcharts.fireEvent(myChart, "redraw"), 10);
Si può anche myChartpassare .highcharts(), che è un jQueryplugin:
var myChart = $("#the-id-name").highcharts();
L' approccio jQueryplug-in di cui sopra richiede jQuerydi essere caricato prima di utilizzare il plug-in e, naturalmente, il plug-in stesso. È stata l'assenza di questo plug-in che mi ha portato a cercare modi alternativi per ottenere lo stesso risultato con JavaScript vanilla puro.
Utilizzando l'approccio JS puro sono stato in grado di fare ciò di cui avevo bisogno (il secondo frammento di codice) senza dover fare affidamento sujQuery :