親の名前を持つ各矩形の先頭にヘッダーを追加しようとしています。私はhttps://bl.ocks.org/deenar/336efdeb97f1c79d4a6bというこの例に従っていますが、正直なところ私はまだD3を初めて使っているので、正しく理解していません。D3 Treemapヘッダー
現在、私は次のようにヘッダを追加するために追加しましたが、何も表示していないよう:
var header = nodes.filter(function(d) {
return !d.children;
});
var headerCells = svg.selectAll("g.cell.header")
.data(header, function(d) { console.log("gf"+name);
return d.name;
});
var headerEnterTransition = headerCells.enter()
.append("g")
.attr("class", "cell header")
.on("click", function(d) {
zoom(d);
});
headerEnterTransition.append("rect")
.attr("width", function(d) {
return Math.max(0.01, d.dx);
})
.attr("height", headerHeight)
.style("fill", "red");
headerEnterTransition.append('foreignObject')
.attr("class", "foreignObject")
.append("xhtml:body")
.attr("class", "labelbody")
.append("div")
.attr("class", "label");
私は私が変更した場合に表示するように長方形のヘッダを取得することができます。
var header = nodes.filter(function(d) {
return d.children;
});
To:
var header = nodes.filter(function(d) {
return !d.children;
});
しかし、この結果、ツリーマップのグラフが消え、クリック可能な矩形一度クリックすると拡大されます。完全なコードはここにあります:https://jsfiddle.net/noobiecode/9ev9qjt3/33/
私はそうする傾向があるので、私は誰も混乱させていないと思っています。いずれにせよ、ここで私が達成しようとしているものです:
私は完全に困惑してる時点でだと、誰かがこの問題について、いくつかの光を当てる必要がある場合は期待していました。
が、私は一度この例のhttps://bl.ocks.org/deenar/336efdeb97f1c79d4a6bなどの上部にある親(テキスト)の名を欲しい: はここを見てください。助けてくれてありがとう。 – user3837019