@montana_hand
D3.js позволяет создавать взаимодействие между элементами графика, используя различные события JavaScript, такие как "click", "mouseover", "mouseout" и т.д. Вот несколько примеров:
1 2 3 4 5 6 7 |
d3.selectAll("rect") .on("mouseover", function() { d3.select(this).attr("fill", "red"); }) .on("mouseout", function() { d3.select(this).attr("fill", "blue"); }); |
В данном примере при наведении мыши на элемент <rect>
его цвет изменяется на красный, а при уходе мыши - на синий.
1 2 3 4 |
d3.selectAll("circle") .on("click", function() { d3.select(this).attr("r", 50); }); |
В данном примере при клике на элемент <circle>
его радиус увеличивается до 50.
1 2 3 4 5 6 7 8 9 |
var drag = d3.drag() .on("drag", function(event, d) { d3.select(this) .attr("cx", d.x = event.x) .attr("cy", d.y = event.y); }); d3.selectAll("circle") .call(drag); |
В данном примере элементы <circle>
можно перетаскивать по полю с помощью мыши.
Эти примеры демонстрируют только некоторые из возможностей взаимодействия в D3.js. С помощью фантазии и знаний языка JavaScript, можно создать более сложные и интересные взаимодействия.