0
更新:所以,我能够正确地获取数据到我的cx/cy数据(吐出正确的值),但元素给了我一个错误的NaN。在点线图d3上绘制点(在流星中做这件事)
所以我得到的只具半径3个元素。
原帖:
我有一个关于在D3线图上呈现点的问题。我会尽力给出相关代码的每一部分(以及稍微复杂一些的数据结构)。
所以,目前,1个黑点呈现在我的图表的左上角,但在其他地方。它看起来像我得到3常量当我console.log cx和cy返回函数。我究竟做错了什么?
城市是目前,返回3个对象的阵列。
每个对象具有以下结构:
Object {
name: 'string',
values: array[objects]
}
值阵列如下:
objects {
Index: number,
Time: date in a particular format
}
好。相关代码时间:
var points = svg.selectAll('dot')
.data(cities);
console.log('Points is :', points)
points
.enter().append('circle')
// .data(function(d) {console.log("data d is :", d); return d})
.data(cities)
.attr('cx', function(d) {
return x(new Date(d.values.forEach(function(c) {
console.log("cx is: ", c.Time);
return c.Time;
})))})
.attr('cy', function(d) {
return y(d.values.forEach(function(c) {
console.log("cy is: ", c.Index)
return c.Index;
}))
})
.attr('r', dotRadius());
points.exit().remove();
// points.attr('class', function(d,i) { return 'point point-' + i });
d3.transition(points)
.attr('cx', function(d) {
return x(new Date(d.values.forEach(function(c) {
console.log("cx is: ", c.Time);
return c.Time;
})))})
.attr('cy', function(d) {
return y(d.values.forEach(function(c) {
console.log("cy is: ", c.Index)
return c.Index;
}))
})
.attr('r', dotRadius())
感谢,这正是问题。我的数据太高了。 当我有更复杂的数据结构的工作,我会牢记这一点。我确实使用该示例来解决我遇到的问题(IE,我想根据列分隔我的数据行),但是我的数据结构非常非常不同:) – Tulun