Вы можете добавить текст поиска и кнопку. Итак, теперь нажмите клик по всем путям и установите его непрозрачность как 0,1. Хотя то, что соответствует сделать его непрозрачность 1.
Что-то вроде этого
d3.select("body").append("input").attr("id", "searchid");
d3.select("body").append("button")
.attr("type", "button")
.text("search")
.on('click', function() {
svg.selectAll("path")[0].forEach(function (d) {
d3.select(d).style("opacity", 1); //making all paths to opacity 1
if (d3.select(d).data()[0].name == document.getElementById("searchid").value) {
d3.select(d).style("opacity", 1);//making matching path's to opacity 1
} else {
d3.select(d).style("opacity", 0.1);//making matching path's to opacity 0.1
}
})
});
рабочего кода here
В примере поиске имени в формате JSON.
Примите это как ответ, если это поможет!
Благодарим за быстрое решение. Работает отлично, даже если дубликаты присутствуют в дугах. – Claw