2013-05-10 3 views
1

Est-il possible de lier des données à des couleurs spécifiques dans API Google Charting ...Google Charts couleur personnalisée Reliure

Supposons que j'ai 2 Pie-graphiques comme dans le FIDDLE .. Je veux lier les données à particulier couleurs -

par exemple - EAT doit toujours être rouge, le sommeil devrait toujours être vert dans tous les tableaux ...

et si un élément spécifique ne semble pas dans un graphique particulier, alors la couleur correspondant à la valeur manquante ne devrait pas apparaître dans ce tableau ...

J'ai essayé

slices: [{color: 'black', {}, {}, {color: 'red'}] 

ainsi que

slices: {0: {color: 'black'}, 3: {color: 'red'}} 

mais n'a pas été en mesure de traiter les valeurs manquantes ....

Voir Fiddle pour avoir une idée claire de ce que je suis en train de

Répondre

1

Configurez un tableau de couleurs que vous souhaitez utiliser pour chaque catégorie. Vous pouvez remplir un tableau de couleurs à utiliser pour le graphique à secteurs en cours de dessin basé sur ce qui est dans le graphique à secteurs, en faisant défiler chaque élément et en ajoutant la couleur corrélée. Je l'ai mis dans votre JSfiddle. J'ai utilisé des couleurs génériques, mais vous pouvez utiliser toutes les couleurs hexadécimales que vous voulez. Je n'ai pas tenu compte des situations où la catégorie n'a pas de couleur associée, donc vous devrez vérifier cela si cela peut poser un problème.

colors = {'Work':'blue', 
     'Eat':'red', 
     'Commute':'yellow', 
     'Watch TV':'green', 
     'Sleep':'purple',}; 

function colorsArray(data){ 
    var array = []; 
    for (var i=0;i<data.length;i++){ 
     array.push(colors[data[i]['c'][0]['v']]); 
    } 
    console.log(array) 
    return array 
} 

Vous pouvez consulter le violon ici: http://jsfiddle.net/Qquse/130/

+0

La solution a cessé de fonctionner ... Il était assez bon pour un certain temps .. Mais maintenant, les accidents de la solution .. Je crois que –

+0

Erreur d'exécution JavaScript: Impossible d'obtenir la propriété 'longueur' de la référence non définie ou nulle –

+0

Je ne sais pas pourquoi, mais l'objet de données créé par Google a été modifié. changer la ligne qui dit couleurs: colorsArray (data.D ') aux couleurs: colorsArray (data.K). Je ne sais pas si cela peut se reproduire, ou même régulièrement, je vais jeter un oeil sur le code et voir si leur est un meilleur moyen de le rendre plus flexible afin qu'il ne se brise pas en fonction de quelque chose que Google peut changer. –