j'ai un simple document JSON:Highcharts plus d'une série
[ {
"x" : "a",
"y" : 2
}, {
"x" : "b",
"y" : 8
}, {
"x" : "c",
"y" : 4
}, {
"x" : "d",
"y" : 15
} ]
Je veux le visualiser en utilisant Highcharts ayant 4 séries. Je pourrais réussir, cependant, les données sont apparues seulement comme une série (voir la figure suivante).
Voici une partie du code:
var options = {
.
.
.
series: [{ }]
};
.
.
.
var data = JSON.parse(json);
var seriesData = [];
for (var i = 0; i < data.length; i++) {
seriesData.push([data[i].x, data[i].y]);
options.xAxis.categories.push(data[i].x);
}
options.series[0].data = seriesData;
var chart = new Highcharts.Chart(options);
mise à jour également la série
chart.series[0].update({
type: type,
});
fonctionne très bien.
utilisant
options.series.push({name: data[i].x, data: [data[i].x, data[i].y]});
crée 4 séries, mais pas de façon appropriée et la mise à jour a également visualisé la série
chart.series[0].update({
type: type,
});
ne fonctionne pas, par conséquent, je veux me concentrer dans la première méthode mentionnée.
des indices?
EDit: le code qui fonctionne en partie pour moi:
var options = {
chart: {
renderTo: 'container',
type: 'column' //default
},
title: {
text: ''
},
yAxis: {
title: {
enabled: true,
text: 'Count',
style: {
fontWeight: 'normal'
}
}
},
xAxis: {
title: {
enabled: true,
text: '',
style: {
fontWeight: 'normal'
}
},
categories: [],
crosshair: true
} ,
plotOptions: {
pie: {
innerSize: 125,
depth: 80
},
column: {
pointPadding: 0.2,
borderWidth: 0,
grouping: false
}
},
series: [{ }]
};
// Set type
$.each(['column', 'pie'], function (i, type) {
$('#' + type).click(function() {
chart.series[0].update({
type: type
});
});
var data = get the data fom json file**
var seriesData = [];
for (var i = 0; i < data.length; i++) {
seriesData.push([data[i].x, data[i].y]);
options.xAxis.categories.push(data[i].x);
}
options.series[0].data = seriesData;
var chart = new Highcharts.Chart(options);
});
});
Merci. Malheureusement, je cours le script sous une plate-forme spéciale dans laquelle votre code ne fonctionne pas. J'ai téléchargé la même bibliothèque que vous avez mais sans succès. J'ai mis à jour ma question avec le code qui fonctionne pour moi. Peut-être que vous pouvez vérifier et me dire comment je peux avoir 4 séries pour le type de colonne. Pour la tarte, cela fonctionne bien. – StaOver
Vous pouvez utiliser babel transpiler pour transpiler le code vers une ancienne version de ES qui fonctionnera dans un environnement plus ancien - collez le code ici https://babeljs.io/repl/ – morganfree
Merci beaucoup maintenant il fonctionne. Cependant, quand j'ai utilisé "tarte" comme type je viens de voir le sérieux pas (seulement une couleur avec "tranche" étiquette). Dans mon code en fait "tarte", "zone", etc fonctionne bien. Astuces – StaOver