在d3.js中执行.data(data)时,如何跳过数组的元素

在d3.js中执行.data(data)时,如何跳过数组的元素,d3.js,D3.js,我想知道数据是否与美国不同,d.pais!=“美国”省略数据。我想知道数据是否与美国不同,d.pais!=“美国”省略数据。并且圆没有被创建 我怎么做 d3.selectAll("circle").remove(); g.selectAll("circle") .data(data) .enter() .append("circle") .attr("cx", function(d) { if(d.pai

我想知道数据是否与美国不同,
d.pais
!=“美国”省略数据。我想知道数据是否与美国不同,d.pais!=“美国”省略数据。并且圆没有被创建

我怎么做

    d3.selectAll("circle").remove();


    g.selectAll("circle")
        .data(data)
        .enter()
        .append("circle")
    .attr("cx", function(d) {
        if(d.pais=="USA" ){
            return projection([d.longitud, d.latitud])[0];
        }
    })
    .attr("cy", function(d) {
        if(d.pais=="USA" ){
            return projection([d.longitud, d.latitud])[1];
        }
    })
    .attr("r", function(d) {
        if(d.pais=="USA" ){
         return 3;
        }
    })

在D3逻辑中使用数据数组之前,过滤数据数组要容易得多:

var usaData = data.filter(d => d.pais === "USA");
g.selectAll("circle")
    .data(usaData)
    .enter()
    .append("circle")
...

您可以在W3学校网站上了解更多有关的信息…

在D3逻辑中使用数据数组之前,过滤数据数组要容易得多:

var usaData = data.filter(d => d.pais === "USA");
g.selectAll("circle")
    .data(usaData)
    .enter()
    .append("circle")
...
您可以在W3学校网站上了解有关所有元素的更多信息…

在您的场景中,您的意思是希望根据您的数据“过滤”元素。 您可以对代码中的不同步骤进行过滤。就像@SteveR的回答一样,您可以使用javascript数组方法将数据预处理到d3代码中

或者在d3.js中,它还提供了一些进行过滤的方法:

  • 数组中过滤
    d3.array,继承到javascript.array,并扩展到统计方法

  • 元素中过滤
    A.使用d3.selection.filter
    B使用d3.select()

  • 第一部分
    这部分就像@SteveR的答案一样

    const filtered = data.filter((d)=>{return d.location !== 'USA';})
    
    第二部分 这一部分是对元素的过滤(使用这种方法,您将不得不处理更多的考虑)

    使用d3.selection.filter方法 使用d3。选择过滤滤芯并移除 Observale演示:

    在您的场景中,您的意思是希望根据您的数据“过滤”元素。 您可以对代码中的不同步骤进行过滤。就像@SteveR的回答一样,您可以使用javascript数组方法将数据预处理到d3代码中

    或者在d3.js中,它还提供了一些进行过滤的方法:

  • 数组中过滤
    d3.array,继承到javascript.array,并扩展到统计方法

  • 元素中过滤
    A.使用d3.selection.filter
    B使用d3.select()

  • 第一部分
    这部分就像@SteveR的答案一样

    const filtered = data.filter((d)=>{return d.location !== 'USA';})
    
    第二部分 这一部分是对元素的过滤(使用这种方法,您将不得不处理更多的考虑)

    使用d3.selection.filter方法 使用d3。选择过滤滤芯并移除 观测演示: