Ich habe Code für einen Schieber:entfernen Non-SVG Slider
var slider = d3.select('body').append('p').text('Sent or Received Threshold: ');
slider.append('label')
.attr('for', 'threshold')
.text('');
slider.append('input')
.attr('type', 'range')
.attr('min', d3.min(graph.links, function(d) {return d.value; }))
.attr('max', d3.max(graph.links, function(d) {return d.value; }))
.attr('value', d3.min(graph.links, function(d) {return d.value; }))
.attr('id', 'threshold')
.style('width', '100%')
.style('display', 'block')
.on('input', function() {
var threshold = this.value;
d3.select('label').text(threshold);
var newData = [];
graph.links.forEach(function (d) {
if (d.value >= threshold) {newData.push(d); };
});
color.domain([d3.min(newData, function(d) {return d.value; }), d3.max(newData, function(d) {return d.value; })]).interpolator(d3.interpolateBlues);
link = link.data(newData, function(d){ return d.value});
link.exit().remove();
var linkEnter = link.enter().append("path")
.style("stroke", function(d) { return color(d.value); })
.style("fill", "none")
.style("stroke-width", "3px");
link = linkEnter.merge(link).style("stroke", function(d) { return color(d.value); });
node = node.data(graph.nodes);
simulation.nodes(graph.nodes)
.on('tick', tick)
simulation.force("link")
.links(newData);
simulation.alphaTarget(0.1).restart();
});
Ich mag den Schieber innerhalb einer Änderungsfunktion auf einem PHP-Drop-down-Basis entfernen. Für die d3 viz selbst verwende ich d3.selectAll("svg > *").remove()
. Ich weiß, dass dieser Schieberegler nicht Teil von SVG ist, also wie würde ich ihn entfernen? Derzeit wird bei Änderung des Dropdown-Menüs ein neuer Schieberegler unterhalb des vorherigen Schiebereglers hinzugefügt. Gibt es eine d3.selectAll
Anweisung, die irgendwo platziert werden muss?
Vielen Dank für alle Einsichten, die Sie alle haben könnten!
Gerardo - nicht sicher, warum Sie Ihren Kommentar entfernt, aber es war genau richtig. Vielen Dank - das hat mir geholfen, d3 remove über dieses Beispiel hinaus zu verstehen. –
Ich habe es entfernt, weil ich es als Antwort schreibe. –
Natürlich natürlich. Danke noch einmal! –