le graphique.renderTo ne fonctionne pas
Je suis en train de créer dynamiquement highcharts sur la même page dans un bootstrap carrousel.
J'ai une fonction "createChart" comme ceci:
createChart(questiontitle, answers);
function createChart(questiontitle, answers){
chart = new Highcharts.Chart(options); //Create new chart with general options
chart.renderTo(container);
for (var i = 0; i < answers.length; i++) {
categories.push(answers[i].Text);
}
console.log(categories);
chart.xAxis[0].setCategories(categories);
chart.setTitle({ text: 'eerzera' });
//redraw chart
chart.redraw();
}
J'ai un div comme ceci:
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
Comme vous pouvez le voir j'ai "graphique.renderTo" mais je reçois toujours le même message d'erreur:
Highcharts Erreur #13
Rendu div pas trouvé
Cette erreur se produit si le graphique.renderTo option est misconfugured donc
que Highcharts est impossible de trouver l'élément HTML pour rendre le graphique
dans.
Ma variable options est comme ceci:
var options = {
chart: {
type: 'bar'
},
subtitle: {
text: 'Source: Wikipedia.org'
},
xAxis: {
categories: ['Africa', 'America', 'Asia', 'Europe', 'Oceania'],
title: {
text: null
}
},
yAxis: {
min: 0,
title: {
text: 'Population (millions)',
align: 'high'
},
labels: {
overflow: 'justify'
}
},
tooltip: {
valueSuffix: ' millions'
},
plotOptions: {
bar: {
dataLabels: {
enabled: true
}
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -40,
y: 100,
floating: true,
borderWidth: 1,
backgroundColor: '#FFFFFF',
shadow: true
},
credits: {
enabled: false
},
series: [{
name: 'Year 1800',
data: [107, 31, 635, 203, 2]
}, {
name: 'Year 1900',
data: [133, 156, 947, 408, 6]
}, {
name: 'Year 2008',
data: [973, 914, 4054, 732, 34]
}]
}
Comment est-ce possible?
OriginalL'auteur nielsv | 2013-09-11
Vous devez vous connecter pour publier un commentaire.
Si votre objectif est de maintenir cette dynamique, en étant capable de créer plusieurs tableaux avec plusieurs renderTo mais en utilisant les mêmes options, vous pouvez le faire comme ceci:
changement
:
ou, si ce n'est à l'aide de jQuery,
OriginalL'auteur jlbriggs
Quelque chose comme ceci:
chart.renderTo(container);
n'existe pas dans Highcharts.Pour définir
renderTo
options d'utilisation:OriginalL'auteur Paweł Fus
Au cas où quelqu'un tombe sur ce pendant Googler, lorsque vous spécifique de l'élément dans
renderTo
, vous ne devriez pas inclure le#
si cet élément est une pièce d'identité.Si vous avez cet élément
<div id="graph-container"></div>
D'échec:
renderTo: '#graph-container'
Cela fonctionne:
renderTo: 'graph-container'
Référence à la Highcharts docs
OriginalL'auteur NLF
Vous pouvez être confrontés au même problème que j'ai été.
Essayez de mettre votre highchart script droit après le div de la déclaration, tout comme dans l'exemple ci-dessous de sorte qu'il peut reconnaître votre div id:
OriginalL'auteur Taua Negri