【发布时间】:2014-12-03 08:34:46
【问题描述】:
一个简单的问题。我对 d3 treemap 方法有疑问。 当我加载这个脚本时,所有的 x 都是 0,控制台告诉我 y、dy 和 dx 不是数字。 我做错了什么?
var colorScale=d3.scale.category10();
var canvas9 = d3.select(".result-side9")
.append("svg")
.attr("width", 600)
.attr("height", 600)
.attr("transform","translate(10,10)");
d3.json("assemblee5.json", function (data) {
var treemap = d3.layout.treemap()
.size(550,550)
.nodes(data);
var cells= canvas9.selectAll(".cell")
.data(treemap)
.enter()
.append("g")
.attr("class", "cell");
cells.append("rect")
.attr("x", function (d){return d.x; })
.attr("y", function (d,i){return d.y; })
.attr("width", function (d,i){return d.dx; })
.attr("height", function (d,i){return d.dy; })
.attr("fill", function (d,i){return d.children ? null : colorScale(d.parent.name); })
.attr("stroke", "white");
cells.append("text")
.attr("x", function (d,i){return d.x + d.dx/2; })
.attr("y", function (d,i){return d.y + d.dy/2; })
.text(function (d){return d.children ? "" : d.name;})
.attr("text-anchor", "middle");
});
JSonLint 告诉我我的 Json 是有效的。
【问题讨论】:
-
您的 JSON 文件的结构如何?
-
谢谢。你去吧。 victoralexandre.fr/assemblee5.json
-
遇到同样的问题 此代码反映的是旧版本的 D3(版本 3)。这是另一个执行相同操作但使用最新版本(版本 4)的示例。 bl.ocks.org/d3indepth/379926741d6600ab6c8af7f5f8707373 第 4 版以我更容易理解的方式做事。希望这会有所帮助。
标签: javascript d3.js nan treemap