Javascript 在酒窝气泡图中显示每个气泡内的标签
我正在用酒窝制作气泡图。那部分已经完成了。我还想将所有者名称(气泡标签)添加到气泡内,而不仅仅是作为图表外的列表,但这不起作用。我该怎么做Javascript 在酒窝气泡图中显示每个气泡内的标签,javascript,d3.js,data-visualization,dimple.js,Javascript,D3.js,Data Visualization,Dimple.js,我正在用酒窝制作气泡图。那部分已经完成了。我还想将所有者名称(气泡标签)添加到气泡内,而不仅仅是作为图表外的列表,但这不起作用。我该怎么做 看看您的JSFIDLE,有一个注释块接近正确答案,但是您遗漏了一些东西。首先,圆使用cx和cy属性,而不是x和y属性,因此需要参考这些属性来确定位置。其次,在draw方法之前调用s.shapes.each,并且该系列的shapes属性仅在draw之后填充。您可以在draw方法之后移动块,但我已将其切换为使用series.afterDraw属性: s.aft
看看您的JSFIDLE,有一个注释块接近正确答案,但是您遗漏了一些东西。首先,圆使用cx和cy属性,而不是x和y属性,因此需要参考这些属性来确定位置。其次,在draw方法之前调用s.shapes.each,并且该系列的shapes属性仅在draw之后填充。您可以在draw方法之后移动块,但我已将其切换为使用series.afterDraw属性:
s.afterDraw = function (shp, d) {
var shape = d3.select(shp);
svg.append("text")
.attr("x", parseFloat(shape.attr("cx")))
.attr("y", parseFloat(shape.attr("cy")) + 4)
.style("text-anchor", "middle")
.style("font-size", "10px")
.style("font-family", "sans-serif")
.style("opacity", 0.7)
.text(d.zValue);
};
您更新的小提琴在这里:注意,这个答案要求您升级到dimple.js。另外,这里还有一个提示,用于在气泡中显示“所有者”而不是“大小”。谢谢John和Mark!还有一件事,我如何找到气泡的半径,因为我想把文本放在气泡外面,以防气泡比文本小。。。
s.afterDraw = function (shp, d) {
var shape = d3.select(shp);
svg.append("text")
.attr("x", parseFloat(shape.attr("cx")))
.attr("y", parseFloat(shape.attr("cy")) + 4)
.style("text-anchor", "middle")
.style("font-size", "10px")
.style("font-family", "sans-serif")
.style("opacity", 0.7)
.text(d.zValue);
};