Par exemple, si l’on souhaite visualiser les voies d’accès à la science ouverte ou plus exactement le statut OA (open access) des publications d’un corpus sous la forme d’un « donut » avec une couleur différente pour chaque voie d’accès et des « labels » correspondant aux nombres de publications associés, il faut tout d’abord créer une ressource principale pour les voies d’accès. Ensuite, lors de la création du graphique, il va falloir compter les valeurs associées aux champs de la ressource « voies d’accès » afin d’obtenir une sortie JSON sous la forme « _id, value », de manière à ce que ces champs contiennent respectivement les statuts OA avec le nombre de publications associées. Ceci peut se faire en utilisant la routine « distinct-by » appliquée sur les voies d’accès.
Puis, dans l’onglet « AFFICHAGE » ou « DISPLAY », en sélectionnant le format « Graphique – Syntaxe Vega-Lite », on peut accéder à une « console » capable d’interpréter la « grammaire » Vega-Lite. Voici ci-dessous pour exemple le code permettant de produire le graphique voulu et présenté juste en dessous (à noter qu’un calcul est aussi réalisé pour obtenir le % de chaque voie d’accès : celui-ci est stocké dans un champ nommé « Taux » et titré « Taux de publication »).
Fichier source : donut
{
"width": "container",
"height": 450,
"transform": [
{
"window": [
{
"op": "sum",
"field": "value",
"as": "NbPublisPerYear"
}
]
},
{
"calculate": "round(datum.value*1000/datum.NbPublisPerYear)/1000",
"as": "Taux"
},
{
"window": [
{
"op": "rank",
"as": "rank"
}
],
"sort": [
{
"field": "value",
"order": "descending"
}
]
},
{
"calculate": "datum.rank - 1",
"as": "rank_minus_1"
}
],
"layer": [
{
"mark": {
"type": "arc",
"innerRadius": 120
},
"encoding": {
"theta": {
"field": "value",
"type": "quantitative",
"stack": true
},
"color": {
"field": "_id",
"type": "nominal",
"legend": {
"orient": "right",
"title": "Voie d'accès",
"columns": 1
},
"scale": {
"domain": [
"Diamond",
"Gold",
"Green",
"Bronze",
"Hybrid",
"Closed"
],
"range": [
"#00bfff",
"#f9bc01",
"#228B22",
"#c97522",
"#ffff67",
"#7f7f7f"
]
}
},
"tooltip": [
{
"field": "_id",
"type": "nominal",
"title": "Voie d'accès"
},
{
"field": "value",
"type": "quantitative",
"title": "Nb publis"
},
{
"field": "Taux",
"title": "Taux de publication",
"format": ".1%",
"type": "quantitative"
}
],
"order": {
"field": "rank_minus_1"
}
}
},
{
"mark": {
"type": "text",
"fill": "black",
"radius": 165,
"fontSize": 14
},
"encoding": {
"theta": {
"field": "value",
"type": "quantitative",
"stack": true
},
"text": {
"field": "value",
"type": "nominal"
},
"color": {
"field": "_id",
"type": "nominal"
},
"order": {
"field": "rank_minus_1"
}
}
}
],
"view": {
"stroke": null
},
"background": "transparent"
}