Comment puis-je obtenir l'accès à un Highcharts graphique par le biais d'un DOM-Conteneur
Quand j'ai rendu un highcharts-graphique à un div conteneur, comment puis-je accéder à l'objet graphique par le biais de la div Conteneur?
je ne veux pas faire de la charte de la variable globale.
var chart = new Highcharts.Chart({
chart: {
renderTo: "testDivId",
...
Je veux accéder au graphique en dehors du contexte ci-dessus comme ceci (pseudo-code), l'appel des fonctions:
var chart = Highcharts.Chart("testDivId"); //access from id
chart.redraw();
Vous devez vous connecter pour publier un commentaire.
Highcharts 3.0.1
Les utilisateurs peuvent utiliser le highcharts plugin
Highcharts 2.3.4
Lire à partir de la Highcharts.graphiques tableau, pour la version 2.3.4 et, plus tard, l'index de la carte peut être trouvé à partir des données sur la
<div>
Toutes les versions
Piste de graphiques dans un objet global/map par conteneur id
Mode de lecture @ Highcharts des Conseils d'Accès à l'Objet Graphique à Partir d'un Conteneur ID
P. S.
Certains ajouts ont été faits dans les versions plus récentes de Highcharts depuis la rédaction de cette réponse et ont été prises à partir des réponses de @davertron, @Moe et @Przy, veuillez upvote leurs observations/réponses comme ils le méritent le crédit pour ces. Les ajouter ici que ce accepté de répondre serait incomplète sans ces
vous pouvez le faire
vérifier exemple sur fiddler
$("#testDivId").highcharts({...}, function(chart) {...});
chartCont est l'Objet jQuery.
chartObj est Highchart d'un Objet Graphique.
C'est à l'aide de Highcharts 3.01
J'ai trouvé un autre moyen de le faire... surtout parce que je suis en utilisant Highcharts qui sont incorporés dans OutSystems Plate-forme, et je n'ai pas de moyen de contrôler la façon dont les graphiques sont créés.
La façon que j'ai trouvée est la suivante:
Donner une classe d'identification de la carte en utilisant
className
attributDéfinir une fonction auxiliaire pour obtenir le graphique par le nom de classe
}
Utiliser la fonction auxiliaire partout où vous en avez besoin
Espère que cela vous aide!
Simplement avec de la pure JS :
HTML:
Le var chart1 est global, de sorte que vous pouvez utiliser pour accéder à de highchart objet n'importe pas qui est le conteneur
... et avec l'aide d'un collègue... une meilleure façon de le faire est...
Sans jQuery (vanilla js):