Google Visualisation graphique à barres empilées: les couleurs et les étiquettes pour chaque valeur
Je suis en utilisant Google Visulaization API pour afficher un diagramme montrant une ligne unique avec plusieurs valeurs, comme ceci:
avec le code suivant:
var data = google.visualization.arrayToDataTable([
['', '0%', '25%', '50%', '75%', '100%', {role: 'annotation'}],
['Mood', 3, 7, 20, 25, 45, '']
]);
var options = {
isStacked: true,
hAxis: { minValue: 0 }
}
var chart = new google.visualization.BarChart(document.getElementById('mood_chart'));
chart.draw(data, options);
Maintenant, je voudrais personnaliser les couleurs et ajouter une étiquette à chaque élément de la ligne.
Si je fais ceci:
var data = google.visualization.arrayToDataTable([
['', '0%', '25%', '50%', '75%', '100%', {role: 'annotation'}, {role: 'style'}],
['Mood', 3, 7, 20, 25, 45, 'ABC', '#f50']
]);
Alors cela ne s'applique qu'à la dernière valeur: (notez que la légende a aussi de la bonne couleur)
Et si j'ai mis un tableau de chaînes de caractères au lieu d'une seule étiquette, une erreur est donnée.
Est-il possible de faire ce que je suis en train de faire? Comment?
OriginalL'auteur Alex | 2015-06-24
Vous devez vous connecter pour publier un commentaire.
J'ai une démo interactive pour cette réponse ici.
La réponse est simple, l'annotation et le style des colonnes de la table de données s'appliquent à la colonne de données avant eux. Ajouter des colonnes d'annotation après chaque colonne de données pour ajouter des annotations à chaque valeur.
C'est aussi pourquoi les couleurs diffèrent à partir de votre légende. Pour appliquer des couleurs à une série vous faire à partir de votre objet d'options. Le rôle dans le style de la table de données affecte la valeur individuelle sans changer l'option pour l'ensemble de la série.
D'assigner des couleurs manuellement vos options devrait ressembler à quelque chose comme ceci:
Mes couleurs étaient tout simplement au hasard gris parce que je peux calculer les couleurs dans ma tête de cette façon. La série de l'indice est indépendant de la table de données de la colonne, de sorte qu'il attribue des index sur des colonnes avec des valeurs de données.
Je vais bricoler avec que, après le déjeuner. Je ne sais pas si la série de l'indice sera le même que l'index de colonne lorsque vous avez des annotations comme cela, donc je vais devoir l'essayer.
Bien sûr, merci beaucoup
Ajout de l'exemple de l'attribution d'une couleur à une série, et mise à jour de la gratter.
Fonctionne comme un charme! Merci pour cette réponse. Je cherchais une solution de ce genre! Bizarre que ce ne soit pas mentionné dans l'api Google chart de la documentation.
OriginalL'auteur nbering
Au cas où quelqu'un voudrait ajouter la couleur de la série de json, j'ai trouvé un moyen de le faire. Il a fallu un certain temps pour comprendre, pour moi donc voilà si quelqu'un peut l'utiliser.
Problème est que les tableaux de couleurs ne peut pas être de type Array, mais doit être l'objet avec les objets.
Récupérer les couleurs de Contrôleur (ASP.Net MVC):
Puis dans les propriétés de la carte
OriginalL'auteur Johnny Koch Petersen