相关疑难解决方法(0)

在d3中过滤数据以绘制圆形或方形

我在d3中理解选择和过滤时遇到了一些麻烦.假设我有一个简单的数组:

data = [1, 2, 6, 3, 4]
Run Code Online (Sandbox Code Playgroud)

如果值<5则绘制圆圈,如果> = 5则绘制正方形.我的代码现在只绘制圆圈​​,如下所示:

var svg = d3.select("body").append("svg")
svg.selectAll("shapes")
    .data(data)
    .enter()
    .append("circle")
Run Code Online (Sandbox Code Playgroud)

圈子的其他属性.我需要使用该.filter()方法,但我不知道放在哪里.我尝试过这样的事情:

var svg = d3.select("body").append("svg")
svg.selectAll("shapes")
    .data(data)
    .enter()
    .filter(function(d){if (d>5){console.log('working');})
    .append("circle")
Run Code Online (Sandbox Code Playgroud)

但后来我得到了该append方法的错误.有人能指出我如何实现这个目标吗?

d3.js

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

d3.js ×1