Dynamique jSON dans Highcharts Graphique à secteurs
Je me bats avec Highcharts droit maintenant à essayer d'obtenir des données. Si je code en dur les options et les séries, je peux le faire fonctionner - si c'est pas de ma configuration (c'est à dire des scripts, css, etc.)
J'ai regardé à la question suivante ici DONC, comme il a été liées: Ajax JSON à Highcharts Graphique à secteurs
Malheureusement, il n'a pas aidé. Quelqu'un peut jeter un oeil et voir ce que je fais mal?
(Ce code est directement liée à la, déjà évoquée, DONC post)
function renderChart(divId, chartType, chartTitle){
var options = createOption(divId, chartType, chartTitle);
var series = createSeries();
options.series = series;
var chart = new Highcharts.Chart(options);
}
function createOption(divId, chartType, chartTitle){
var options = {
chart: {
renderTo: divId,
defaultSeriesType: 'pie'
},
title: {
text: chartTitle
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: false
},
showInLegend: true
}
},
series: []
};
return options;
}
function createSeries(){
var series = [];
series.push('[');
series.push('{');
series.push('"type" : "pie",');
series.push('"name" : "fruits",');
series.push('"data" : [');
series.push('[');
series.push('"Apple",')
series.push('43.0');
series.push('],');
series.push('[');
series.push('"Pear",')
series.push('57.0');
series.push(']');
series.push(']');
series.push('}');
series.push(']');
return series.join('');
}
Merci d'avance.
Mépris. Manière la plus facile - le serveur cuire jusqu'à l'objet de série. Voir ce post: itérer réponse JSON avec jQuery pour Highcharts
- Pourquoi ne pas construire dynamiquement un objet au lieu d'une chaîne JSON? Ne Highcharts nécessitent une chaîne JSON?
- Je peux créer un objet en tant que ci-dessous, mais quand je reçois des paires clé-valeur de retour à partir du serveur web, comment suis-je pour construire un objet de façon dynamique? série: [{ name: 'Ordinateurs de bureau, les données: [107, 31, 635, 203, 2] }, { nom: les ordinateurs Portables, les données: [133, 156, 947, 408, 6] }, { nom: les Serveurs, les données: [973, 914, 4054, 732, 34] }]
- Résolu. Voir les modifications ci-dessus. Auto-réponse dès qu'il me le permet.
- Oh, n'est-ce pas voir votre dernier commentaire
Vous devez vous connecter pour publier un commentaire.
Vous nourrissez Highcharts une chaîne de caractères:
où il attend un tableau de configuration de l'objet pour la série comme:
Vous pouvez lier graphique avec les données JSON, directement. Vous avez juste besoin de mettre le json noms de propriété en tant que highchart standard. 'Y' pour la valeur et 'nom' pour l'étiquette.
Votre JSON doit être comme suit:
[ { nom: "Pomme", y: 25 }, { nom: "Poire", y: 20 } ]