【发布时间】:2019-02-24 13:18:44
【问题描述】:
我正在尝试更改获取 D3 地图的 json 文件的格式。原始来源是palewire 的World Choropleth。
编辑:工作代码感谢 Plunker 中的以下答案: http://embed.plnkr.co/JYTATyrksAg3OJ0scHAp/
原始 json 是嵌套格式,每个值都有一个计数:
{
"id": "IQ-G02-D009",
"rate": "1"
},
{
"id": "IQ-G05-D030",
"rate": "4"
},
{
"id": "IQ-G07-D047",
"rate": "5"
}
]
新的 json 将使用平面格式,例如:
[
{
"id": "IQ-G02-D009"
},
{
"id": "IQ-G05-D030"
},
{
"id": "IQ-G05-D030"
},
{
"id": "IQ-G05-D047"
},
{
"id": "IQ-G07-D047"
}
]
似乎使用 rollup 和 nest 函数可以让新的 json 以与前一个类似的形式获得,但我在执行 queue() 时遇到了困难。
似乎应该在 .defer 级别实现汇总:
queue()
.defer(d3.json, "map.json")
.defer(d3.json, "data.json")
.await(ready);
可以直接在队列中使用嵌套和汇总功能吗?
【问题讨论】:
-
这个答案可能对你有帮助stackoverflow.com/questions/34631591/…
-
现在查看您的源代码,您可以在获取数据后,在您的就绪函数中使用嵌套和汇总。您可以使用延迟参数应用汇总并嵌套在队列中,但最终会出现在您的等待函数中。
-
非常感谢,确实 ready 函数似乎是一个更合适的地方。我现在正在尝试在其中添加嵌套和汇总,但没有运气。在更新的 Plunker 中查看 cmets:embed.plnkr.co/JYTATyrksAg3OJ0scHAp
-
在您的 plnkr 上,
activities没有rate密钥,所以这可能是您的汇总不起作用
标签: javascript json d3.js