在 Vega 边缘捆绑中设置单独的边缘宽度
set individual edge widths in Vega edge bundling
我正在尝试使用边束,但希望边的厚度由边本身决定,而不是它们源自的源节点。
文档中给出的示例在这里:
https://vega.github.io/editor/#/examples/vega/edge-bundling
两个数据源在这里:
https://github.com/vega/vega-datasets/blob/master/data/flare-dependencies.json
https://github.com/vega/vega-datasets/blob/master/data/flare.json
在此示例中,边缘的厚度由脚本中的第 170 行确定,其中值 1.5 分配给 'strokeWidth'。
"encode": {
"enter": {
"interpolate": {"value": "bundle"},
"strokeWidth": {"value": 1.5}
},
我曾希望使用 flare.json 输入中的“大小”值来分别定制每个宽度。但是,该示例从 flare-dependencies.json 创建了一棵树,虽然树确实引入了这个值,在 VEGA_DEBUG.view.data('dependencies')
中可见,但我不知道如何访问它并获取这些值来设置每个边缘的 'strokeWidth' 个元素。
你能告诉我该怎么做吗?
此致,
我得到的答案如下:
首先添加一个公式,将 flare.json 数据集中的大小值附加为字段 'strokeWidth',方法是在示例的第 90 行写入:
{
"type": "formula",
"expr": datum.size/10000",
"as": "strokeWidth"
},
接下来,在标记中,将 edgebundle 中每条边的 strokeWidth 值设置为关联的 'strokeWidth' 列中的相关联 'strokeWidth' 通过在上述更改后的第 176 行编写:
"strokeWidth": {"field": "strokeWidth"}
在此之后,图表应呈现出具有由 'size' 变量定义的厚度的边缘。请注意,在此示例中,我必须将原始数据集中的 'size' 值缩放 10,000 以将线条设置为合理的粗细。
实际上,我会在将数据呈现给 Vega 之前对其进行缩放。
我正在尝试使用边束,但希望边的厚度由边本身决定,而不是它们源自的源节点。
文档中给出的示例在这里:https://vega.github.io/editor/#/examples/vega/edge-bundling
两个数据源在这里:https://github.com/vega/vega-datasets/blob/master/data/flare-dependencies.json
https://github.com/vega/vega-datasets/blob/master/data/flare.json
在此示例中,边缘的厚度由脚本中的第 170 行确定,其中值 1.5 分配给 'strokeWidth'。
"encode": {
"enter": {
"interpolate": {"value": "bundle"},
"strokeWidth": {"value": 1.5}
},
我曾希望使用 flare.json 输入中的“大小”值来分别定制每个宽度。但是,该示例从 flare-dependencies.json 创建了一棵树,虽然树确实引入了这个值,在 VEGA_DEBUG.view.data('dependencies')
中可见,但我不知道如何访问它并获取这些值来设置每个边缘的 'strokeWidth' 个元素。
你能告诉我该怎么做吗?
此致,
我得到的答案如下:
首先添加一个公式,将 flare.json 数据集中的大小值附加为字段 'strokeWidth',方法是在示例的第 90 行写入:
{
"type": "formula",
"expr": datum.size/10000",
"as": "strokeWidth"
},
接下来,在标记中,将 edgebundle 中每条边的 strokeWidth 值设置为关联的 'strokeWidth' 列中的相关联 'strokeWidth' 通过在上述更改后的第 176 行编写:
"strokeWidth": {"field": "strokeWidth"}
在此之后,图表应呈现出具有由 'size' 变量定义的厚度的边缘。请注意,在此示例中,我必须将原始数据集中的 'size' 值缩放 10,000 以将线条设置为合理的粗细。
实际上,我会在将数据呈现给 Vega 之前对其进行缩放。