use*_*162 2 javascript svg d3.js
使用d3,我试图编写一个脚本,通过显示由单个块组成的数字来可视化数字的大小.所以数字5将由5个矩形组成.在svg中创建矩形的一般语法如下.
var p = d3.select("body").selectAll("p")
.data([5, 3, 10])
.enter()
.append("rect)
...
Run Code Online (Sandbox Code Playgroud)
但是,我真正想要的是每个数据元素附加多个矩形的东西.
var p = d3.select("body").selectAll("p")
.data([5, 3, 10])
.enter()
.do(CreatedRectangles(d))
Run Code Online (Sandbox Code Playgroud)
谁知道如何轻松地做到这一点?
您可以使用嵌套选择并d3.range()为此:
d3.select("body")
.selectAll("p")
.data([5,3,10])
.enter()
.append("p")
.selectAll("p")
.data(function(d) { return d3.range(d); })
.enter()
.append("p")
.html(String);
Run Code Online (Sandbox Code Playgroud)
在这里演示.
您也可以使用.do()它,除非它被调用.each().CreateRectangle()看起来像这样.
function CreateRectangle(d) {
d3.select(this).selectAll("p").data(d3.range(d)).enter().append("p").html(String);
}
Run Code Online (Sandbox Code Playgroud)
它与SVG和rect元素的工作方式类似.
| 归档时间: |
|
| 查看次数: |
2342 次 |
| 最近记录: |