【发布时间】:2015-01-11 11:54:59
【问题描述】:
我正在使用 d3 的 aster 图,圆弧周围带有图例标签。
一个工作示例here。
var text = arcs.append("svg:text")
.attr("transform", function(d) {
d.outerRadius = outerRadius + 75;
d.innerRadius = outerRadius + 70;
return "translate(" + arc.centroid(d) + ")";
})
.attr("text-anchor", "middle") //center the text on it's origin
.style("fill", "black")
.style("font", "bold 12px Arial")
.text(function(d, i) { return dataSet[i].legendLabel; }) // <- split this into multiple lines?
但我想在新行中打破长标签,我该如何实现呢?
谢谢
【问题讨论】:
-
这里是your example updated,代码来自@LarsKotthoff 的回答。
-
谢谢马克,效果很好,你太棒了!!
-
我们如何在文本周围添加填充或边距,以便标签不会覆盖图表。
-
在您的代码中,位置由行
d.outerRadius = outerRadius + 75; d.innerRadius = outerRadius + 70;控制。如果您可以摆脱硬编码,那是最简单的。否则,您正在查看碰撞检测和it's not trivial。