L'utilisation d'un tableau d'objets pour la série de données dans Highcharts
J'ai un tableau d'objets que je veux afficher dans highcharts. Chaque objet a un nom et une valeur.
J'ai essayé d'obtenir que cela fonctionne en faisant
var objects = objectArray[]; //objectArray being an array of the objects I want data on
var objectNames = nameArray[]; //This being an array of all the names of the objects
var objectValues = valueArray[]; //An array of all the values of the objects
series: [{
data: objects.value,
name: objects.name
}]
Cela a fait sauter sur moi. J'ai donc essayé avec la construction de la série comme ceci:
series: [{
data: objectValues,
name: objectNames
}]
Ceci m'a données pour les valeurs, mais le nom a été de tous les noms dans le objectNames tableau... pour chaque élément de données. j'ai donc essayé d'utiliser
series: [{
data: objectValues
},
{
data: objectNames
}]
Ce qui a entraîné voir le tableau pour le objectValues, et dans la légende, une autre option pour les noms - qui est totalement inacceptable, car il n'y a aucun point en ayant une série d'étiquettes, droit?
Donc j'ai décidé de créer par programmation d'une série, à l'aide d'une boucle foreach et de passer ensuite que dans le constructeur. Cependant, http://www.highcharts.com/docs/getting-started/how-to-set-options/ dit que c'est "mauvais code".
Ce que je suis désireux est d'être en mesure de passer un tableau d'objets à highcharts, dites-lui que chaque morceau de données " nom " est le nom de la valeur de cet objet particulier, et les données vont être liée à cet objet particulier du champ de valeur. Est-il un moyen de faire cela? Ou est la seule option que highcharts considère comme "mauvais"?
OriginalL'auteur Bardicer | 2014-05-27
Vous devez vous connecter pour publier un commentaire.
J'ai donc trouvé une solution.
Après l'obtention de données, je n'ai
Et ensuite lié ma série avec
J'ai donc "Type de Valeur Description" dans la légende, mais quand j'ai passez la souris sur un point précis, j'ai le nom de l'étiquette, et valide les données de l'affichage sous forme de graphique.
Que j'ai trouvé à http://api.highcharts.com/highcharts#series que si vous avez un tableau de deux dimensions des tableaux, vous pouvez simplement passer une chaîne de caractères en tant que premier paramètre et il serait de l'analyser comme l'étiquette de ce point.
EDIT: Exemple par demande.
Donc, vous avez deux pièces à la
series
champ,data
etname
.Name
ne s'applique PAS à ladata
, qui sera le nom de l'axe.Donc
data
est un ensemble de paires clé/valeur.Et
name
est ce que le "principal" label - "Mon Truc", par exemple.Ensuite, lorsque vous chargez la carte, dans la légende, il devrait dire "Mon Truc", mais lorsque vous passez la souris sur un point précis, disons que la première, elle affiche le Key1 Valeur1 de l'information.
OriginalL'auteur Bardicer
Donc,le " nom " et " y " est la clé.
OriginalL'auteur Jian Niu