1
我不知道如何通过名称来嵌套我的数据。如何在d3上按名称嵌套数据?
我的数据是这样的:
var data = [
[[{name: "Bonpoint"}], [
{axis: "Coton", value: 1},
{axis: "Laine", value: 0.8},
{axis: "Cachemire", value: 0.6},
{axis: "Soie", value: 0.20},
{axis: "Angora", value: 0.20},
{axis: "Autres", value: 0.20},
{axis: "Nylon", value: 0},
{axis: "Acrylique", value: 0},
{axis: "Viscose", value: 0},
{axis: "Polyuréthane", value: 0},
{axis: "Polyester", value: 0.20}]],
[[{name: "Petit Bateau"}], [
{axis: "Coton", value: 1},
{axis: "Laine", value: 0.40},
{axis: "Cachemire", value: 0},
{axis: "Soie", value: 0},
{axis: "Angora", value: 0},
{axis: "Autres", value: 0},
{axis: "Nylon", value: 0},
{axis: "Acrylique", value: 0},
{axis: "Viscose", value: 0},
{axis: "Polyuréthane", value: 0},
{axis: "Polyester", value: 0.20}]],
...etc
我想这行代码:
var names = d3.nest()
.key(function (d) {return d[0].map(function (o) {return o.name})})
.entries(data);
但是当我键入console.log(names)
,我得到的是一个数组对象,而不是直接的名字。你有什么想法,我可以直接访问我的data
中的name
?
谢谢。
当你把'names.key'在控制台日志中会发生什么? –
@Ryan Morton:我有一个“未定义”的消息... – solub
更仔细地看JSON对象,它已经看起来嵌套了。我想你只需要映射对象并设置key = name,second key = axis和value = value。 –