Rôles de colonne

Cette page décrit le concept et l'utilisation des rôles dans les tables de données des graphiques.

  1. Présentation des rôles
  2. Quels sont les rôles disponibles ?
  3. Hiérarchie et associabilité des rôles
  4. Attribuer un rôle

Présentation des rôles

Les objets Google DataTable et DataView sont désormais compatibles avec les rôles de colonne explicitement attribués. Le rôle de colonne décrit l'objectif des données de cette colonne. Par exemple, une colonne peut contenir des données décrivant le texte d'une info-bulle, des annotations de points de données ou des indicateurs d'incertitude. La plupart des rôles de colonne s'appliquent à la colonne "data" qui la précède, qu'elle soit juste avant ou avant la première colonne d'un groupe consécutif de rôles. Par exemple, vous pouvez avoir deux colonnes après une colonne "données", l'une pour "info-bulle" et l'autre pour "annotation". Toutefois, après la colonne "domain", nous autorisons généralement les rôles de colonne "annotation" et "annotationText".

Remarque: Si vous souhaitez contrôler le contenu des info-bulles qui s'affichent lorsque l'utilisateur pointe sur un graphique, consultez les info-bulles.

À l'origine, seuls deux rôles étaient disponibles pour une colonne: "domain", qui spécifie les principales valeurs des axes, et "data", qui spécifie la hauteur des barres, la largeur des secteurs, etc. Ces rôles ont été attribués implicitement, en fonction de l'ordre et du type des colonnes de la table. Toutefois, avec la possibilité d'attribuer explicitement des rôles de colonne, vous pouvez désormais ajouter des colonnes facultatives qui fournissent de nouvelles fonctionnalités intéressantes à un graphique, telles que des étiquettes d'annotation arbitraires, du texte d'infobulle et des barres d'incertitude.

Si vous n'attribuez pas explicitement le rôle d'une colonne, celui-ci est déduit de l'ordre de la colonne dans la table, conformément à la spécification du format de données du graphique. Cette page vous présente les rôles que vous pouvez attribuer explicitement, ainsi que la manière de les attribuer.

Voici une comparaison de ce que vous pouvez faire avec un graphique en courbes n'utilisant que les rôles déduits par défaut, par rapport à d'autres rôles attribués explicitement.

Format de la table de données d'un graphique en courbes:

  Colonne 0 Colonne 1 ... Colonne N
Objectif Valeurs de la ligne 1 ... Valeurs de la ligne N
Type de données Nombre ... Nombre
Rôle domaine Données ... Données
Rôles facultatifs
compatibles avec les colonnes
  • annotation
  • annotationText
  • annotation
  • annotationText
  • certitude
  • accentuation
  • interval
  • champ d'application
  • style
  • Info-bulle
...
  • annotation
  • annotationText
  • certitude
  • accentuation
  • interval
  • champ d'application
  • style
  • Info-bulle

 

Graphique sans rôles de colonne explicites Graphique avec des rôles de colonne explicites

Ce graphique n'applique pas explicitement les rôles. Par conséquent, vous ne pouvez utiliser que la disposition de base en colonnes des données et des domaines présentée ci-dessus.

Table de données:

var data = new google.visualization.DataTable();
data.addColumn('string', 'Month'); // Implicit domain label col.
data.addColumn('number', 'Sales'); // Implicit series 1 data col.
data.addRows([
  ['April',1000],
  ['May',  1170],
  ['June',  660],
  ['July', 1030]
]);

Ce graphique attribue les rôles explicitement, et les colonnes facultatives peuvent donc être ajoutées. Ce graphique comporte des colonnes facultatives pour les rôles d'annotation, d'annotationText, d'intervalle et de certitude.

  • Les colonnes annotation spécifient les étiquettes statiques du graphique. Ici, "A", "B" et "C" correspondent à des annotations.
  • Les colonnes annotationText spécifient l'info-bulle lorsque vous passez la souris sur l'annotation (pas sur le point de données).
  • Les colonnes d'intervalle spécifient les points haut et bas des barres I sur le graphique. Le graphique comporte trois barres I.
  • certainty indiquent si les données à ce stade sont certaine. Le dernier point de données est incertain, et la ligne qui y mène est en pointillés.

Table de données:

var data = new google.visualization.DataTable();
data.addColumn('string', 'Month'); // Implicit domain label col.
data.addColumn('number', 'Sales'); // Implicit series 1 data col.
data.addColumn({type:'number', role:'interval'});  // interval role col.
data.addColumn({type:'number', role:'interval'});  // interval role col.
data.addColumn({type:'string', role:'annotation'}); // annotation role col.
data.addColumn({type:'string', role:'annotationText'}); // annotationText col.
data.addColumn({type:'boolean',role:'certainty'}); // certainty col.
data.addRows([
    ['April',1000,  900, 1100,  'A','Stolen data', true],
    ['May',  1170, 1000, 1200,  'B','Coffee spill', true],
    ['June',  660,  550,  800,  'C','Wumpus attack', true],
    ['July', 1030, null, null, null, null, false]
]);

Quels sont les rôles disponibles ?

Le tableau suivant répertorie tous les rôles compatibles avec Google Charts. Tous les rôles ne sont pas compatibles avec tous les types de graphiques. La documentation de chaque graphique décrit les rôles disponibles et leur emplacement. Les rôles sont affichés différemment selon les types de graphiques.

Rôle Description Exemple
annotation

Texte à afficher sur le graphique à côté du point de données associé. Le texte s'affiche sans intervention de l'utilisateur. Les annotations et le texte des annotations peuvent être attribués à la fois aux points de données et aux catégories (étiquettes d'axe).

Il existe deux styles d'annotations: point (par défaut), qui trace le texte de l'annotation à proximité du point spécifié, et ligne, qui trace le texte de l'annotation sur une ligne qui divise la zone du graphique en deux. Vous pouvez spécifier le style de ligne en définissant cette option de graphique: annotations: {'column_id': {style: 'line'}}

Type de données: chaîne

Par défaut: chaîne vide

Données:

label: 'Year', 'Sales', null, null, 'Expenses', null, null role: domain, data, annotation, annotationText, data, annotation, annotationText '2004', 1000, null, null, 400, null, null '2005', 1170, '6'2', null', '6', null', '6' 2

Les « A » et « B » de ce graphique sont des annotations. Pointez sur l'annotation pour en afficher le texte. Notez que vous devez passer la souris sur l'annotation, et non sur le point de données auquel elle est appliquée, pour afficher la valeur annotationText.

Les valeurs nulles sont acceptées pour les cellules annotation et annotationText. Toutefois, si vous disposez d'une valeur annotationText, celle-ci doit être associée à une valeur d'annotation.

annotationText

Texte étendu à afficher lorsque l'utilisateur pointe sur l'annotation associée. Les annotations et le texte des annotations peuvent être attribués à la fois aux points de données et aux catégories (étiquettes d'axe). Si vous disposez d'une colonne annotationText, vous devez également avoir une colonne d'annotation. En revanche, le texte d'info-bulle s'affiche lorsque l'utilisateur pointe sur le point de données associé dans le graphique.

Type de données: chaîne

Par défaut: chaîne vide

certitude

Indique si un point de données est certain ou non. Le mode d'affichage dépend du type de graphique. Il peut, par exemple, être indiqué par des lignes en pointillés ou un remplissage rayé.

Pour les graphiques en courbes et en aires, le segment entre deux points de données est certain si et seulement si les deux points de données sont certains.

Type de données: booléen, où "true" est certain et "false" est incertain.

Valeur par défaut: true

emphase

Met l'accent sur les points de données spécifiés du graphique. Elle est affichée sous la forme d'une ligne épaisse et/ou d'un grand point.

Pour les graphiques en courbes et en aires, le segment entre deux points de données est mis en évidence si et seulement si les deux points de données sont accentués.

Type de données: booléen

Valeur par défaut : "false"

Données:

label: 'Year',  'Sales',     null, 'Expenses',     null
 role: domain,   data,   emphasis,     data,   emphasis
       '2004',   1000,       true,      400,      false
       '2005',   1170,       true,      460,       true
       '2006',    660,      false,     1120,       true
       '2007',   1030,      false,      540,       true

Dans ce graphique, la série "Ventes" comporte un segment accentué, désigné par la troisième colonne, les lignes 1 et 2. La série "Dépenses" comporte deux segments accentués, désignés par la cinquième colonne : les lignes deux, trois et quatre. Notez que l'accentuation nécessite de mettre en valeur les deux points de délimitation.

intervalle

Indique une plage de données potentielle pour un point spécifique. Les intervalles sont généralement affichés sous la forme d'indicateurs de plage de style "I-bar". Les colonnes d'intervalle sont des colonnes numériques. Ajoutez les colonnes d'intervalle par paires, en marquant les valeurs basse et haute de la barre. Les valeurs d'intervalle doivent être ajoutées par ordre croissant, de gauche à droite.

Type de données: nombre

Par défaut: aucun intervalle

Données:

label: 'Day',  'Stock value',   null,     null
 role: domain,     data,    interval, interval
        'Mon',       38,          20,       45
        'Tue',       55,          31,       66
        'Wed',       77,          50,       80
      'Thurs',       66,          50,       77

Dans ce graphique, les valeurs d'intervalle définissent une barre en I autour des points. Les valeurs augmentent de gauche à droite. L'intervalle le plus élevé et le plus bas autour d'un point marque le haut et le bas de la barre.

Remarque: Pour en savoir plus sur les intervalles, consultez la section Intervalles.

portée

Indique si un point est dans le champ d'application ou hors du champ d'application. Si un point est hors de la portée, il est visuellement minimisé.

Pour les graphiques en courbes et en aires, le segment entre deux points de données entre dans le champ d'application si l'un ou l'autre des points de terminaison entre dans le champ d'application.

Type de données: booléen, où "true" correspond au champ d'application.

Valeur par défaut: true

Données:

label: 'Year',   'Sales',    null,    'Expenses',      null
 role: domain,     data,    scope,        data,       scope
        '2004',    1000,    false,         400,        true
        '2005',    1170,    false,         460,       false
        '2006',     660,     true,        1120,       false
        '2007',    1030,     true,         540,       false

La première colonne d 'étendue s'applique à la colonne de données de ventes, à sa gauche. Le premier segment est affiché hors du champ d'application, car les deux points limites ne sont pas concernés. La deuxième colonne de champ d'application s'applique à la colonne de données "Dépenses", à sa gauche. Le premier segment est marqué comme étant dans la portée, car l'un de ses points limites entre dans le champ d'application ; le reste de la ligne est hors du champ d'application, car tous les autres points sont marqués comme hors du champ d'application.

style

Appliquez un style à certaines propriétés de différents aspects de vos données. Ces valeurs sont les suivantes:

  • color
  • opacity
  • stroke-width
  • stroke-color
  • stroke-opacity
  • fill-color
  • fill-opacity

Type de données: chaîne, où plusieurs styles peuvent être appliqués à l'aide d'une syntaxe 'firstProperty: value; secondProperty: value', ou définissez des styles spécifiques pour bar, line, et point en spécifiant le type et en encapsulant les propriétés de style entre accolades (par exemple, bar { //properties go here }).

Valeur par défaut: null

Données:

label: 'Character', 'Popularity',   'Style',
role:  domain,      data,   style,
'Hulk',             50,    'color: green',
'Captain America',  75,    'color: #0000cf;' +
                           'stroke-color: #cf001d',
'Wolverine',        90,    'opacity: 0.5;' +
                           'stroke-width: 5;' +
                           'stroke-color: #01a0ff;' +
                           'fill-color: #fff600',
'Iron Man',         60,    'color: #db9500;' +
                           'stroke-width: 10;' +
                           'stroke-color: #a30300',
'Spider Man',       100,   'bar {' +
                           'fill-color: #c8001d;' +
                           'stroke-width: 3;' +
                           'stroke-color: #1800c8}'

      

Dans ce graphique, chaque barre est stylisée indépendamment des autres à l'aide du rôle de colonne style. Les styles peuvent être définis spécifiquement pour le point, la ligne ou la barre (voir la ligne de Spider Man) ou de manière générale, ce qui appliquera les styles à tous les points, lignes et barres, en fonction du type de graphique.

Remarque: Vous trouverez plus de détails sur la personnalisation du style des points, des lignes et des barres dans une autre section. Consultez également les options de chaque type de graphique, où des styles peuvent être spécifiés pour d'autres types d'entités, tels que des zones, du texte et des zones.

info-bulle

Texte à afficher lorsque l'utilisateur pointe sur le point de données associé à cette ligne.

Remarque:cela n'est pas pris en charge par la visualisation Graphique à bulles. Le contenu des info-bulles HTML du graphique à bulles n'est pas personnalisable.

Type de données: chaîne

Par défaut: valeur du point de données

Données:

label: 'Year',   'Sales',    null,   'Expenses',    null
 role: domain,     data,    tooltip,    data,      tooltip
        '2004',    1000, '1M$ sales,     400,    '$0.4M expenses
                           in 2004'                  in 2004'
        '2005',    1170, '1.17M$ sales,  460,    '$0.46M expenses
                            in 2005'                  in 2005'
        '2006',     660, '.66$ sales,   1120,     '$1.12M expenses
                            in 2006'                 in 2006'
        '2007',    1030, '1.03M$ sales,  540,    '$0.54M expenses
                            in 2007'                  in 2007'

Pointez sur les points de données pour afficher le texte de l'info-bulle. Les données d'info-bulle sont attribuées à tous les points des deux lignes, dans les colonnes 3 et 5.

Remarque: Pour en savoir plus sur la personnalisation des info-bulles, consultez la section Info-bulles.

domaine

Vous ne devriez pas avoir besoin d'attribuer ce rôle explicitement, sauf si vous concevez un graphique multidomaine (illustré ici). Le format de base de la table de données permet au moteur de création de graphiques d'identifier les colonnes correspondant à des domaines. Toutefois, vous devez savoir quelles colonnes sont des colonnes de domaine afin de savoir quelles autres colonnes peuvent les modifier.

Les colonnes des domaines spécifient les étiquettes le long du grand axe du graphique. Plusieurs colonnes de domaine peuvent parfois être utilisées pour prendre en charge plusieurs échelles dans le même graphique.

Type de données: généralement chaîne, mais parfois un nombre ou une date

Données:

label: '2009,  '2009,     '2009,   '2008,    '2008    '2008
      Quarter', Sales', Expenses', Quarter', Sales', Expenses'
role:  domain,   data,       data,   domain,   data,     data
      'Q1/09',   1000,        400,  'Q1/08',    800,      300
      'Q2/09',   1170,        460,  'Q2/08',    750,      400
      'Q3/09',    660,       1120,  'Q3/08',    700,      540
      'Q4/09',   1030,        540,  'Q4/08',    820,      620

Cet exemple illustre un graphique multidomaine. Les deux premières colonnes de données modifient le premier domaine ("Trimestre 2009") et les deux dernières colonnes de données le deuxième domaine ("Trimestre 2008"). Les deux domaines sont superposés sur les mêmes échelles d'axe.

données

Il n'est pas nécessaire d'attribuer ce rôle explicitement. En effet, le format de base de la table de données permet au moteur de création de graphiques d'identifier les colonnes correspondant à des domaines. Cependant, vous devez savoir quelles colonnes sont des colonnes de données afin de savoir quelles autres colonnes peuvent les modifier.

Les colonnes des rôles de données spécifient les données de série à afficher dans le graphique. Pour la plupart des graphiques, une colonne correspond à une série, mais cela peut varier selon le type de graphique. Par exemple, les graphiques à nuage de points nécessitent deux colonnes de données pour la première série et une autre pour chaque série supplémentaire. Les graphiques en chandeliers japonais nécessitent quatre colonnes de données pour chaque série.

Type de données: nombre

 

Hiérarchie et associabilité des rôles

Le schéma suivant montre quelles colonnes de rôle peuvent s'appliquer à quelles autres colonnes de rôle. Toutes les colonnes, à l'exception des colonnes de domaine, s'appliquent au plus proche gauche auquel elles peuvent être appliquées.

Ainsi, par exemple, une colonne scope s'applique à la colonne data la plus proche à sa gauche, la colonne annotationText s'appliquera à la colonne annotation la plus proche à sa gauche, tandis qu'une colonne annotation s'appliquera à la colonne data ou domaine la plus proche à sa gauche.

Attribuer un rôle

Les rôles sont attribués en tant que propriété de la colonne dans un objet DataTable. Il existe plusieurs façons de créer une colonne de rôle, mais voici les plus courantes:

Les deux premières techniques dessinent le graphique suivant:

Méthode DataTable.addColumn

L'exemple suivant crée un graphique à barres avec un repère d'intervalle sur trois des barres. Les repères d'intervalle sont spécifiés par les troisième et quatrième colonnes à l'aide de la méthode DataTable.addColumn().

       var data = new google.visualization.DataTable();
       data.addColumn('string', 'Month'); // Implicit domain column.
       data.addColumn('number', 'Sales'); // Implicit data column.
       data.addColumn({type:'number', role:'interval'});
       data.addColumn({type:'number', role:'interval'});
       data.addColumn('number', 'Expenses');
       data.addRows([
         ['April',1000,  900, 1100,   400],
         ['May',  1170, 1000, 1200,   460],
         ['June',  660,  550,  800,  1120],
         ['July', 1030,    ,     ,    540]
       ]);

       var chart = new google.visualization.BarChart(
                document.getElementById('visualization'));
       chart.draw(data,
          {width: 800, height: 600, title: 'Company Performance'});

Notation littérale JavaScript

Dans le littéral JSON, vous devez spécifier une propriété p de la colonne avec la valeur "role":"role-type". L'exemple suivant montre comment spécifier des rôles à l'aide de la notation littérale JavaScript. Cette opération ne peut être effectuée qu'au moment de la création de la table.

{"cols":[
  {"id":"","label":"Month","pattern":"","type":"string"},
  {"id":"","label":"Sales","pattern":"","type":"number"},
  {"id":"","label":"","pattern":"","type":"number","p":{"role":"interval"}},
  {"id":"","label":"","pattern":"","type":"number","p":{"role":"interval"}},
  {"id":"","label":"Expenses","pattern":"","type":"number"}],
"rows":[
  {"c":[
    {"v":"April","f":null},
    {"v":1000,"f":null},
    {"v":900,"f":null},
    {"v":1100,"f":null},
    {"v":400,"f":null}]},
  {"c":[
    {"v":"May","f":null},
    {"v":1170,"f":null},
    {"v":1000,"f":null},
    {"v":1200,"f":null},
    {"v":460,"f":null}]},
  {"c":[{"v":"June","f":null},
    {"v":660,"f":null},
    {"v":550,"f":null},
    {"v":800,"f":null},
    {"v":1120,"f":null}]},
  {"c":[
    {"v":"July","f":null},
    {"v":1030,"f":null},
    {"v":null,"f":null},
    {"v":null,"f":null},
    {"v":540,"f":null}]}],
"p":null
}

Méthode DataView.setColumns

Lorsque vous créez une vue, vous pouvez définir explicitement le rôle d'une colonne. Cela s'avère utile lorsque vous créez une colonne de calcul. Pour en savoir plus, consultez DataView.setColumns().