【发布时间】:2018-12-07 23:25:16
【问题描述】:
我有一个多折线图,我想在上面画点(最终添加我的工具提示。)我似乎无法正确地遍历数据并将它们全部绘制出来。我的数据是一个数组数组,每个子数组都是它自己的线,我想在上面画点。 x(inspected_at), y(flow_data)
完整的代码在这里,大约第 388 行:https://codepen.io/lahesty/pen/aKQjVK?editors=0011
var dots =
svg.selectAll('.dots').data(data).enter().append("g").attr("class",
"dot");
dots.selectAll('.dot')
.data(data)
.enter()
.append('circle')
.attr("r", 2.5)
.attr("cx", function(d) { return x(d.inspected_at); })
.attr("cy", function(d) { return y(d.flow_data); })
.style("fill", "blue").style("opacity", ".5")
我认为它是类似的,因为当我将第二个 .data(data) 更改为 .data(data[0]) 时,第一个点数组会出现,但我希望它们都出现。我也试过这样的东西,而不是上面的:
svg.selectAll("g.dot")
.data(data)
.enter().append("g")
.attr("class", "dot")
.selectAll("circle")
.data(function(d, i) { return d[i]; })
.enter().append("circle")
.attr("r", 6)
.attr("cx", function(d,i) { return x(d.inspected_at); })
.attr("cy", function(d,i) { return y(d.flow_data); })
我使用 v4。有什么想法吗?非常感谢您的帮助!
【问题讨论】:
标签: javascript arrays d3.js svg