在this vega图表中,如果我使用以下flare-dependencies.json
命令下载并将jq
转换为csv,
jq -r '(map(keys) | add | unique) as $cols | map(. as $row | $cols | map($row[.])) as $rows | $cols, $rows[] | @csv' flare-dependencies.json > flare-dependencies.csv
并从以下位置更改edge-bundling.vg.json
文件中的相应数据属性:
{
"name": "dependencies",
"url": "data/flare-dependencies.json",
"transform": [
{
"type": "formula",
"expr": "treePath('tree', datum.source, datum.target)",
"as": "treepath",
"initonly": true
}
]
},
to
{
"name": "dependencies",
"url": "data/flare-dependencies.csv",
"format": { "type": "csv" },
"transform": [
{
"type": "formula",
"expr": "treePath('tree', datum.source, datum.target)",
"as": "treepath",
"initonly": true
}
]
},
悬停效果不起作用(当我悬停边缘/节点时,颜色不会改变。
我怀疑这是本节的问题:
"name": "selected",
"source": "dependencies",
"transform": [
{
"type": "filter",
"expr": "datum.source === active || datum.target === active"
}
]
我想念的是什么?我该如何解决?
JSON数据已输入;也就是说,文件格式区分字符串数据和数字数据。 CSV数据未输入类型:所有条目均以字符串表示。
以上图表规格要求某些字段为数字。将输入数据转换为CSV时,必须添加format说明符以为数字数据列指定数字类型。
对于此图表,您可以将以下内容用于节点数据:
"format": {
"type": "tsv",
"parse": { "id": "number", "name": "string", "parent": "number" }
},
以及以下链接数据:
"format": {
"type": "tsv",
"parse": { "source": "number", "target": "number" }
},