我在这里有一个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组件更加可重复使用,所以我希望能够根据我使用的数据传递它。
答案 0 :(得分:1)
是的,您可以访问javascript对象的属性,如下所示:
someObject[somePropertyString]
从你的例子:
.attr('x', (d, i) => {
//return x(d.data.date)
var link = d.data[xAxisValue];
return x(link)
})