У меня есть граф D3, состоящий из различных узлов / ссылок.В этом у меня есть функциональность, в которой, когда я нажимаю на узел и затем нажимаю на кнопку, это уменьшает непрозрачность каждого другого элемента, кроме промежуточных соединенных узлов и ссылок, а также изменения ссылки на синий, чтобы показать схему.
Чего я хочу добиться, так это когда несколько таких узлов выбираются один за другим, ссылка, которая является общей для любой предыдущей схемы, должна изменить свой синий цвет нана один оттенок темнее.
Я не хочу делать это с помощью увеличения непрозрачности, я хочу изменить цвет на один оттенок темнее предыдущего.
Я сделал логику, чтобы найти общие ссылкив схеме, но используя D3 / JS, как каждый раз увеличивать цветовой код до более темного тона для любого элемента svg при нажатии кнопки.
Например: в приведенном ниже коде я хочу добиться более темного тона синегокаждый раз при нажатии кнопки вместо того, чтобы менять ее на красный.
d3.select('#toDO').on('click', function() {
d3.select("#PathID").attr("stroke" , "red")
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<svg height="210" width="400">
<path id="PathID" d="M150 0 L75 200" stroke="blue"/>
</svg>
<button id="toDO">Click</button>