У меня есть многострочный график, на котором я хотел бы нарисовать точки (в конце концов, чтобы добавить к нему подсказку). Я просто не могу правильно перебрать данные и нарисовать их все. Мои данные - это массив массивов, каждый из которых является своей собственной линией, на которой я хотел бы нарисовать точки. 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. Какие-нибудь мысли? Ваша помощь очень ценится!