D3.js 将.remove()放在何处以清除以前的数据点?

D3.js 将.remove()放在何处以清除以前的数据点?,d3.js,D3.js,在通过放大或缩小切换时间间隔后,我更新时间线时遇到问题。旧数据点保留在我的图表时间线上。我已尝试在.filter之后添加.remove,但无效。如蒙指教,不胜感激。谢谢 function update() { // re-position individual elements svg.selectAll('.element') //.remove() .filter(function(d) {

在通过放大或缩小切换时间间隔后,我更新时间线时遇到问题。旧数据点保留在我的图表时间线上。我已尝试在.filter之后添加.remove,但无效。如蒙指教,不胜感激。谢谢

    function update() {
        // re-position individual elements
        svg.selectAll('.element')
        //.remove()

        .filter(function(d) { 
            if (interval == 'hours') {
                return d.Interval == 'hour'; 
            }
            else if (interval == 'days') {
                return d.Interval == 'day'; 
            }
            else if (interval == 'weeks') {
                return d.Interval == 'week'; 
            }
            else if (interval == 'months') {
                return d.Interval == 'month'; 
            }
        })

        .attr('transform', function (d) {
            //return 'translate(' + xScale(d.date) + ', ' + yScale(d.Ranking) + ')';

            if (interval == 'hours') {
                return 'translate(' + xHoursScale(d.date) + ', ' + yScale(d.Ranking) + ')';
            }
            if (interval == 'days') {
                return 'translate(' + xDaysScale(d.date) + ', ' + yScale(d.Ranking) + ')';
            }
            if (interval == 'weeks') {
                return 'translate(' + xWeeksScale(d.date) + ', ' + yScale(d.Ranking) + ')';
            }
            if (interval == 'months') {
                return 'translate(' + xMonthsScale(d.date) + ', ' + yScale(d.Ranking) + ')';
            }
        });

您没有将任何新数据绑定到点,因此不会计算退出选择。如何确定要删除的点?如何将数据绑定到点?你能给我举个简单的例子吗?谢谢。请参阅,例如。有没有一种方法可以在不绑定的情况下删除旧数据点?是的,您可以选择任何元素并调用。删除它们。
        svg.selectAll('.element')
        .filter(function(d) { 
            if (interval != 'hours') {
                return d.Interval == 'hour'; 
            }
        })
        .attr('visibility', 'hidden');

        svg.selectAll('.element')
        .filter(function(d) { 
            if (interval != 'days') {
                return d.Interval == 'day'; 
            }
        })
        .attr('visibility', 'hidden');

        svg.selectAll('.element')
        .filter(function(d) { 
            if (interval != 'weeks') {
                return d.Interval == 'week'; 
            }
        })
        .attr('visibility', 'hidden');

        svg.selectAll('.element')
        .filter(function(d) { 
            if (interval != 'months') {
                return d.Interval == 'month'; 
            }
        })
        .attr('visibility', 'hidden');

        svg.selectAll('.element')
        .filter(function(d) { 
            if (interval == 'hours') {
                return d.Interval == 'hour'; 
            }
        })
        .attr('visibility', 'visible');

        svg.selectAll('.element')
        .filter(function(d) { 
            if (interval == 'days') {
                return d.Interval == 'day'; 
            }
        })
        .attr('visibility', 'visible');

        svg.selectAll('.element')
        .filter(function(d) { 
            if (interval == 'weeks') {
                return d.Interval == 'week'; 
            }
        })
        .attr('visibility', 'visible');

        svg.selectAll('.element')
        .filter(function(d) { 
            if (interval == 'months') {
                return d.Interval == 'month'; 
            }
        })
        .attr('visibility', 'visible');