如何在 Vega-Lite 中为 concat 添加标题

问题描述 投票:0回答:1

如何为规范中的每个连接添加标题?

  • 我想在每个连接的顶部插入标题。

这是我到目前为止所做的(预览/代码在这里)

这是我想要实现的结果的示例:

提前谢谢您!!

powerbi powerbi-desktop vega-lite vega deneb
1个回答
3
投票

要获取标题,只需为每个连接规范添加一个标题即可。

{
  "$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
    }
  ]
}
© www.soinside.com 2019 - 2024. All rights reserved.