vega堆叠了" y2"属性中的字段

时间:2015-07-13 00:04:25

标签: vega vincent

有人可以在vincent文档中向我解释堆叠条形图中的以下行:

https://github.com/wrobstory/vincent/blob/master/examples/stacked_bar_examples.py

y2=ValueRef(field='y2', scale='y')

我没有看到任何名为" y2"在数据集中,所以我对它来自哪里感到困惑

1 个答案:

答案 0 :(得分:0)

y2字段由Vega stack转换(code here)生成。

在Vega中,rect标记可由y + y2y + height定义。请参阅Vega的文档中的Marks#Shared Visual Properties

  

对于涉及笛卡尔范围的标记(例如, rect 标记),   水平尺寸由(按优先顺序)x确定   和x2属性,x和width属性,以及x2和宽度   属性。如果指定了x,x2和width的全部三个宽度   值被忽略。 处理y,y2和height属性   类似

查看stacked bar demo in the Vega Live Editor,其中包括:

...
  "marks": [
    {
      "type": "rect",
      "properties": {
        "enter": {
          "x": {"scale": "x", "field": "data.x"},
          "width": {"scale": "x", "band": true, "offset": -1},
          "y": {"scale": "y", "field": "y"},
          "y2": {"scale": "y", "field": "y2"},
          "fill": {"scale": "color", "field": "data.c"}
        },
        "update": {
          "fillOpacity": {"value": 1}
        },
        "hover": {
          "fillOpacity": {"value": 0.5}
        }
      }
    }
  ]
...

尝试在实时编辑器中使用y2更改height