Присвоение идентификаторов <rect>s, созданных d3.js, на основе значения в данных - PullRequest
0 голосов
/ 04 апреля 2019

Я пытался добавить идентификаторы к моим <rect> элементам в D3.js в соответствии с их ключом в моих данных, чтобы я мог получить к ним доступ из jQuery позже. Я модифицировал этот кодекс (вилка) .

Это мои данные:

[{week: 'W4 2017', cfrg56: 1, yh6u57: 1, vgh5f66: 1},
{week: 'W5 2017', nc6g56: 1, dh5j67: 1, ng67vg6: 1} etc...]

неделя = неделя года, ключ = идентификатор, значение = всегда 1 (блоки должны быть индивидуально обрабатывается jQuery)

Я пробовал это:

var rects = layer.selectAll("rect");
var i;
for (i = 0; i < data.length; i++){
        for (x in data[i]){
                if (!(x == "month")){
                    rects[i].attr("id", x);
                }
        }
 }

, где я перебираю все rect s и назначаю соответствующий ключ данных (кроме month) его атрибуту id. Но, похоже, я не могу этого сделать

Я бы хотел иметь возможность перебирать rect с, но я не могу понять, как это сделать. Мой метод не работает, и я не могу понять, как это сделать с .forEach()

EDIT

так что rect s выглядят как <rect id="key in data">

вот тушенка

...