首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vega-lite堆叠条形图,包含2个不同的数据对象

Vega-lite堆叠条形图,包含2个不同的数据对象
EN

Stack Overflow用户
提问于 2021-09-16 17:45:47
回答 1查看 113关注 0票数 1

我正在尝试在Vega lite中模拟power BI的行为,如果你基于相同的日期添加2个数据对象,你可以将数据堆叠在彼此的顶部。

我在power BI中使用的是Deneb,但它使用vega lite,所以任何vega lite解决方案都应该可以。

我今天之前有一个计数数据集,今天之后有一个计数数据集。我希望将它们组合在一起,这样如果今天之前和今天之后在同一个月中有数据,那么它们是堆叠的,而不是相互重叠的。

我似乎找不到一个不涉及将数据分组到一个对象中的解决方案

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-17 16:54:46

将两个数据集组合成单个堆叠条形图的方法是使用lookup transform将数据集连接在一起。如果您希望堆叠来自不同列的条形图,则可以在制作标准条形图之前使用fold transform将它们组合在一起。

例如(open in vega editor):

代码语言:javascript
复制
{
  "datasets": {
    "table-1": [
      {"key": "A", "A": 2},
      {"key": "B", "A": 3},
      {"key": "C", "A": 1},
      {"key": "D", "A": 2}
    ],
    "table-2": [
      {"key": "A", "B": 6},
      {"key": "B", "B": 4},
      {"key": "C", "B": 1},
      {"key": "D", "B": 3}
    ]
  },
  "data": {"name": "table-1"},
  "transform": [
    {
      "lookup": "key",
      "from": {"data": {"name": "table-2"}, "key": "key", "fields": ["B"]}
    },
    {"fold": ["A", "B"], "as": ["column", "value"]}
  ],
  "mark": "bar",
  "encoding": {
    "color": {"field": "column", "type": "nominal"},
    "x": {"field": "value", "type": "quantitative"},
    "y": {"field": "key", "type": "nominal"}
  }
}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69212988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档