[英]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)時,我可以看到返回的對象數組,那么我在做什么錯呢?
非常感謝。
您的wedges
是enter()
調用的結果,該調用:
僅定義了
append
,insert
,select
和call
運算符
因此它沒有任何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.