D3 - 将变量传递给x值

时间:2018-02-09 17:16:16

标签: d3.js

我在这里有一个codepen - https://codepen.io/anon/pen/yvgJKB

我有一个简单的堆积条形图

我使用

在x轴上传递内容
.attr('x', (d, i) => {
    return x(d.data.date)
})

date是数据数组中的值

let dataToStack = [{
    "usedInf": 20,
    "newInf": 32,
    'totalInf': 73,
    "date": "2015-05-31T00:00:00"
}, {
    "usedInf": 100,
    "newInf": 120,
    'totalInf': 103,
    "date": "2015-06-30T00:00:00"
}, {
    "usedInf": 60,
    "newInf": 45,
    'totalInf': 93,
    "date": "2015-07-31T00:00:00"
},
];

是否可以传递返回陈述的date部分

我在想像

这样的东西
.attr('x', (d, i) => {
    var value = date
    var link = 'd.data'+value
    return x(link)
})

我想这样做,所以我可以让D3组件更加可重复使用,所以我希望能够根据我使用的数据传递它。

1 个答案:

答案 0 :(得分:1)

是的,您可以访问javascript对象的属性,如下所示:

someObject[somePropertyString]

从你的例子:

    .attr('x', (d, i) => {
        //return x(d.data.date)
        var link = d.data[xAxisValue];                         
        return x(link)
    })