簡體   English   中英

D3將數據添加到3D餅圖

[英]D3 Adding data to 3D Pie Chart

下面是我在這里找到的D3示例的​​js代碼。

var MsaSubGroup  = svg.append("g").attr("id","MsaSubGroupData").attr("class","pieChart");
Donut3D.draw("MsaSubGroupData", getData(MSA), 450, 150, 130, 100, 30, 0.4);

var wedges = MsaSubGroup.selectAll("g.slices").data(datum).enter();
        wedges.on("mousemove", function(d){ //This is what the browser is complaining about.
            mousex = d3.mouse(this);
            mousex = mousex[0];
            //console.log(d);
            d3.select(this)
                .classed("hover", true);

            tooltip.html(d.label+": " + d.value).style("visibility", "visible").style("left", mousex + "px" );
        });

我進行了一些修改,以嘗試添加數據以及工具提示。 我只需要將數據綁定到svg上就顯得非常簡單。 但是,我在控制台中得到了奇怪的錯誤:

未捕獲的TypeError:undefined不是函數

到底是什么未定義? 當我console.log(datum)時,我可以看到返回的對象數組,那么我在做什么錯呢?

非常感謝。

您的wedgesenter()調用的結果,該調用:

僅定義了appendinsertselectcall運算符

因此它沒有任何on方法,這就是導致“未定義不是函數”錯誤的原因。

我假設您想要:

var wedges = MsaSubGroup
        .selectAll("g.slices")
        .on('mousemove', ...);

wedges.data(myData).enter()...

要么

var wedges = MsaSubGroup
        .selectAll("g.slices")
        .data(myData)
        .enter()
        .append('g')
        .on('mousemove', ...);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM