How do I add a title to each concat in a spec?
Here's what I did so far (preview/code here)
Here's an example of the result I'd like to achieve:
Thank you in advance!!
To get titles, just add a title to each concat spec.
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"data": {
"values": [
{
"Micro classificazione - Denom_": "Sholay",
"Num class Detrattori": 209,
"Num class Passivi": 115,
"Num class Promotori": 370,
"Average of DES_SENTIMENT": -0.1
},
{
"Micro classificazione - Denom_": "Comedy of Terrors, The",
"Num class Detrattori": 124,
"Num class Passivi": 707,
"Num class Promotori": 433,
"Average of DES_SENTIMENT": 3.6
},
{
"Micro classificazione - Denom_": "To Be or Not to Be",
"Num class Detrattori": 521,
"Num class Passivi": 463,
"Num class Promotori": 470,
"Average of DES_SENTIMENT": 1.6
},
{
"Micro classificazione - Denom_": "Captivity",
"Num class Detrattori": 146,
"Num class Passivi": 332,
"Num class Promotori": 309,
"Average of DES_SENTIMENT": 3.7
},
{
"Micro classificazione - Denom_": "Our Vines Have Tender Grapes",
"Num class Detrattori": 205,
"Num class Passivi": 672,
"Num class Promotori": 653,
"Average of DES_SENTIMENT": -3.7
},
{
"Micro classificazione - Denom_": "Rahtree: Flower of the Night (Buppha Rahtree)",
"Num class Detrattori": 405,
"Num class Passivi": 117,
"Num class Promotori": 156,
"Average of DES_SENTIMENT": 2.8
},
{
"Micro classificazione - Denom_": "Kon-Tiki",
"Num class Detrattori": 920,
"Num class Passivi": 903,
"Num class Promotori": 211,
"Average of DES_SENTIMENT": -4.5
},
{
"Micro classificazione - Denom_": "Taken",
"Num class Detrattori": 779,
"Num class Passivi": 738,
"Num class Promotori": 674,
"Average of DES_SENTIMENT": 3.1
},
{
"Micro classificazione - Denom_": "Bring on the Night",
"Num class Detrattori": 765,
"Num class Passivi": 461,
"Num class Promotori": 490,
"Average of DES_SENTIMENT": 4.6
},
{
"Micro classificazione - Denom_": "Magnificent Obsession",
"Num class Detrattori": 861,
"Num class Passivi": 639,
"Num class Promotori": 859,
"Average of DES_SENTIMENT": 3
},
{
"Micro classificazione - Denom_": "Skin Game",
"Num class Detrattori": 541,
"Num class Passivi": 988,
"Num class Promotori": 176,
"Average of DES_SENTIMENT": -3.9
},
{
"Micro classificazione - Denom_": "Bill & Ted's Excellent Adventure",
"Num class Detrattori": 280,
"Num class Passivi": 399,
"Num class Promotori": 935,
"Average of DES_SENTIMENT": -0.9
},
{
"Micro classificazione - Denom_": "Sharky's Machine",
"Num class Detrattori": 879,
"Num class Passivi": 285,
"Num class Promotori": 169,
"Average of DES_SENTIMENT": 3.8
},
{
"Micro classificazione - Denom_": "Some Days Are Better Than Others",
"Num class Detrattori": 402,
"Num class Passivi": 644,
"Num class Promotori": 179,
"Average of DES_SENTIMENT": -2.4
},
{
"Micro classificazione - Denom_": "Dinosaurus!",
"Num class Detrattori": 476,
"Num class Passivi": 701,
"Num class Promotori": 525,
"Average of DES_SENTIMENT": 1.7
},
{
"Micro classificazione - Denom_": "Married to the Mob",
"Num class Detrattori": 853,
"Num class Passivi": 951,
"Num class Promotori": 155,
"Average of DES_SENTIMENT": -3.3
},
{
"Micro classificazione - Denom_": "Badman's Country",
"Num class Detrattori": 259,
"Num class Passivi": 895,
"Num class Promotori": 660,
"Average of DES_SENTIMENT": 1
},
{
"Micro classificazione - Denom_": "Chillers",
"Num class Detrattori": 417,
"Num class Passivi": 905,
"Num class Promotori": 662,
"Average of DES_SENTIMENT": 1.5
},
{
"Micro classificazione - Denom_": "Alien Hunter",
"Num class Detrattori": 359,
"Num class Passivi": 377,
"Num class Promotori": 400,
"Average of DES_SENTIMENT": -3.8
},
{
"Micro classificazione - Denom_": "Tormento",
"Num class Detrattori": 867,
"Num class Passivi": 484,
"Num class Promotori": 984,
"Average of DES_SENTIMENT": -4.7
}
]
},
"transform": [
{
"calculate": "datum['Num class Detrattori']+datum['Num class Passivi']+datum['Num class Promotori']",
"as": "Totalclass"
},
{
"calculate": "datum['Num class Detrattori']/datum['Totalclass']",
"as": "PercDetrattori"
},
{
"calculate": "datum['Num class Passivi']/datum['Totalclass']",
"as": "PercPassivi"
},
{
"calculate": "datum['Num class Promotori']/datum['Totalclass']",
"as": "PercPromotori"
},
{
"calculate": "(datum['PercPromotori']-datum['PercDetrattori'])*100",
"as": "Score"
},
{
"window": [{"op": "rank", "as": "rank"}],
"sort": [{"field": "Totalclass", "order": "descending"}]
},
{"filter": "datum.rank < 11"}
],
"concat": [
{
"width": 260,
"height": 300,
"title":"My Title",
"layer": [
{
"mark": "bar",
"encoding": {
"x": {
"field": "PercDetrattori",
"type": "quantitative",
"scale": {"reverse": true},
"axis": null
},
"y": {
"field": "Micro classificazione - Denom_",
"sort": {"field": "Totalclass", "order": "descending"},
"title": null
},
"color": {"value": "red"}
}
},
{
"mark": {"type": "text", "style": "label"},
"encoding": {
"y": {
"field": "Micro classificazione - Denom_",
"sort": {"field": "Totalclass", "order": "descending"}
},
"x": {
"field": "PercDetrattori",
"type": "quantitative",
"title": "Insoddisfatti"
},
"text": {
"field": "PercDetrattori",
"type": "quantitative",
"format": ".0%"
}
}
}
]
},
{
"width": 260,
"height": 300,
"title":"My Title",
"layer": [
{
"mark": "bar",
"encoding": {
"x": {
"field": "PercPromotori",
"type": "quantitative",
"title": "Soddisfatti",
"axis": null
},
"y": {
"field": "Micro classificazione - Denom_",
"axis": {"labels": false},
"sort": {"field": "Totalclass", "order": "descending"},
"title": null
},
"color": {"value": "green"}
}
},
{
"mark": {"type": "text", "style": "label"},
"encoding": {
"y": {
"field": "Micro classificazione - Denom_",
"sort": {"field": "Totalclass", "order": "descending"},
"title": null
},
"x": {"field": "PercPromotori", "type": "quantitative"},
"text": {
"field": "PercPromotori",
"type": "quantitative",
"format": ".0%"
}
}
}
]
},
{
"width": 260,
"height": 300,
"title":"My Title",
"layer": [
{
"mark": "bar",
"encoding": {
"x": {
"field": "PercPassivi",
"type": "quantitative",
"title": "Neutrali",
"axis": null
},
"y": {
"field": "Micro classificazione - Denom_",
"axis": {"labels": false},
"sort": {"field": "Totalclass", "order": "descending"},
"title": null
},
"color": {"value": "yellow"}
}
},
{
"mark": {"type": "text", "style": "label"},
"encoding": {
"y": {
"field": "Micro classificazione - Denom_",
"sort": {"field": "Totalclass", "order": "descending"},
"title": null
},
"x": {
"field": "PercPassivi",
"type": "quantitative",
"axis": null,
"title": null
},
"text": {
"field": "PercPassivi",
"type": "quantitative",
"format": ".0%"
}
}
}
]
},
{
"title":"My Title",
"mark": {"type": "text"},
"encoding": {
"y": {
"field": "Micro classificazione - Denom_",
"sort": {"field": "Totalclass", "order": "descending"},
"title": null,
"axis": null
},
"x": {
"field": "Score",
"type": "quantitative",
"title": null,
"axis": null,
"scale": {"domain": [1, 1]}
},
"text": {"field": "Score", "type": "quantitative", "format": ".0f"}
},
"width": 30,
"height": 300
},
{
"title":"My Title",
"mark": {"type": "text"},
"encoding": {
"y": {
"field": "Micro classificazione - Denom_",
"sort": {"field": "Totalclass", "order": "descending"},
"title": null,
"axis": null
},
"x": {
"field": "Average of DES_SENTIMENT",
"type": "quantitative",
"title": null,
"axis": null,
"scale": {"domain": [1, 1]}
},
"text": {
"field": "Average of DES_SENTIMENT",
"type": "quantitative",
"format": ".0f"
}
},
"width": 30,
"height": 300
},
{
"title":"My Title",
"mark": {"type": "text"},
"encoding": {
"y": {
"field": "Micro classificazione - Denom_",
"sort": {"field": "Totalclass", "order": "descending"},
"title": null,
"axis": null
},
"x": {
"field": "Totalclass",
"type": "quantitative",
"title": null,
"axis": null,
"scale": {"domain": [1, 1]}
},
"text": {"field": "Totalclass", "type": "quantitative", "format": ".0f"}
},
"width": 30,
"height": 300
}
]
}