2016-08-16 5 views
0

g要素で作成された各svg要素内に個々の矩形をネストしようとしていますが、動作させることができません。d3で複数のsvgコンテナ内に複数の矩形をネストしますか?

ここは私のコード+ Plnkです。

Plunker

var bar = g.selectAll(".barContainer") 
    .data(thisData.labels) 
    .enter() 

    bar 
    .append("svg") 
    .attr("class", "barContainer") 

    bar 
    .insert('rect') 
    .attr('width', function(d) { 
     console.log(d) 
     return d.value 
    }) 
    .attr('height', 20) 
    .attr('x', 0) 
    .attr('y', 0) 

現在、DOMは、私は、各コンテナ内にネスト矩形をしたいのと同じレベルで、上のRECTとコンテナクラスを表示しています。

私はいくつかのことを試みましたが、それを解読しているように見えませんでした。誰かが正しい方向に向けることを望んでいましたか?

おかげ

答えて

3

あなたがにsvgを追加して、あなたも'g'に矩形を追加'g'要素を持っています。作成するsvg要素にrectを追加します。このような何か:

var bar = g.selectAll(".barContainer") 
    .data(thisData.labels) 
    .enter() 

    var barRectSVG = bar 
    .append("svg") 
    .attr("class", "barContainer") 

    barRectSVG 
    .insert('rect') 
    .attr('width', function(d) { 
     console.log(d) 
     return d.value 
    }) 
    .attr('height', 20) 
    .attr('x', 0) 
    .attr('y', 0) 

更新plnkr:http://plnkr.co/edit/WYbjT7ekjUuopzs0H9Pi?p=preview

+0

感謝!それは正常ですか私はバーがお互いの上に表示されないように私は各CSS "。barContainer"をCSSでスタイルできないのですか? – ggt

+0

スタイリングsvg要素はスタイリングのdivなどとは異なります。Youllは要素を配置して配置します。 http://stackoverflow.com/questions/479591/svg-positioningを参照してください。 – thatOneGuy

関連する問題