0
我試圖去掌握一些D3的概念,但感覺好像我的知識存在一些基礎空白。它似乎與D3 stack()函數的工作方式。D3.js堆疊條形圖選擇
我想了解爲什麼以下兩個代碼片段是而不是等效。第一個工作和填充數據,第二個沒有。
優先(工作守則,簡體):
var mainStack = d3.stack().keys(keys);
var seriesData = mainStack(dataset[0]);
gBars = g.selectAll("g")
.data(seriesData, function (d, i) { return (i); })
.enter().append("g").. more work here
二(不工作,Simplifed):
var mainStack = d3.stack().keys(keys);
var seriesData = mainStack(dataset[0]);
gBars = g.selectAll("g")
.data(seriesData, function (d, i) { return (i); });
gBars.enter().append("g").. more work here
基本上,我剛纔想分手的代碼,使其更簡單(對我來說)閱讀,也允許我實現一個exit()函數。但是,當我這樣做,圖表無法顯示。
我認爲gBar變量應該保持以前的選擇?
任何援助將不勝感激,我已經成功地使用這種模式的簡單圖表,因此我懷疑這與我所缺少的d3.stacked()函數涉及嵌套數據時丟失的東西?
你在你的問題中遺漏了一些關鍵代碼:在你的'...'之後如何使用'gBars'?這裏有更多的工作是什麼?這是重要的部分! – Mark
嗨,它只是添加一些屬性到選擇的項目。例如:.apprend(「g」)。attr(「fill」,「#ff0000」)< - 由於我沒有做任何特殊的事情,在此之後,gBars並沒有被使用,我只是用這種方式「學習」並且玩弄幾件事情。 –