Transmettre des Données Chaîne de caractères comme paramètre à une Fonction pour HighCharts
Je sais que ce titre semble un peu bizarre, je ne pouvais pas l'expliquer mieux.
Voici ce dont j'ai besoin. J'ai cette fonction javascript et j'ai besoin de transmettre les données en tant que variable de Chaîne:
var chart;
function drawChart() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
series: [{
type: 'pie',
name: 'Browser share',
data: [
['Firefox', 45.0],
['IE', 26.8],
{
name: 'Chrome',
y: 12.8,
sliced: true,
selected: true
},
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
]
}]
});
}
J'ai besoin de passer ce paramètre à ma fonction
[
['Firefox', 45.0],
["IE", de 26,8],
{
nom: 'Chrome',
y: 12.8,
tranché: c'est vrai,
sélectionné: vrai
},
['Safari', 8.5],
['Opera', 6.2],
[Les "autres", 0.7]
]
Comment puis-je le faire?
Je veux qu'il ressemble à quelque chose comme ceci
var chart;
function drawChart(dataString) {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: 'Browser market shares at a specific website, 2010'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage}%</b>',
percentageDecimals: 1
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function() {
return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
}
}
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: dataString
}]
});
}
J'ai essayé la solution de @moonwave99 :
var browsers = [
['Firefox', 45.0],
['IE', 26.8],
{
name: 'Chrome',
y: 12.8,
sliced: true,
selected: true
},
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
];
et
...........
series: [{
type: 'pie',
name: 'Browser share',
data: JSON.stringify(browsers)
}]
............
Et mon résultat est: est-ce
Solution : http://jsfiddle.net/USzVy/1/
var browsers = [
['Firefox', 45.0],
['IE', 26.8],
{
name: 'Chrome',
y: 12.8,
sliced: true,
selected: true
},
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
];
function drawChart() {
var data_str = JSON.stringify(browsers);
var options ={
chart: {
renderTo: 'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
series: [{
type: 'pie',
name: 'Browser share',
data: JSON.parse(data_str)
}]
}
chart = new Highcharts.Chart(options);
}
Grâce
Par pas de dire que vous avez besoin d'une chaîne, regarde bibliothèque de l'API.
OriginalL'auteur MaVRoSCy | 2012-09-27
Vous devez vous connecter pour publier un commentaire.
D'abord définir vos données dans un tableau, pas une chaîne de caractères:
Puis stringify et le passer en paramètre à ta fonction:
Puis de les convertir en arrière pour le JSON
OriginalL'auteur balafi
Utilisation
JSON.stringify
:MODIFIER voir tripoter.
EDIT2: j'ai eu un coup d'oeil à ce bibliothèque d'API, et vous ne pas besoin d'une chaîne, mais un tableau d'options! Lire les docs et tu l'auras fait.
De vérifier ma dernière révision, j'ai ajouté un inutile
paramName
.veuillez voir ma dernière mise à JOUR. Quelque chose va terriblement mal avec les données
OriginalL'auteur moonwave99
http://www.highcharts.com/errors/14
. Je suppose que c'est parce que je passe les données en tant que chaîne et il attendait les valeurs int 🙁OriginalL'auteur Thibault Henry
here you get the dataString some way
? C'est ce que je suis en train d'essayer de comprendre 🙂J'ai essayé, et le cadre en charge très bien, mais pas les données sont tracées sur la carte
vous pouvez le placer litéralement, comme je l'ai mis à jour ma réponse
voici ce que j'obtiens jsfiddle.net/USzVy Pas de dessin graphique
cela a fonctionné: jsfiddle.net/USzVy/2
OriginalL'auteur falsarella
Excelent, des solutions, j'ai été tryng vos codes, mais ma carte ne montre rien, donc, j'ai suivi mes valeurs que j'ai passer comme paramètres, et mon problème est que j'ai l'envoi de mes valeurs comme string, je résoudre ce juste pour convertir mes données avec le parseInt() de la commande.
..
..
...
Grâce
OriginalL'auteur loboss