【发布时间】:2014-10-06 15:44:42
【问题描述】:
我有这张图表,我需要根据变量将一些标签加粗。但是我不确定如何在 D3 中实现这一点。我认为可能需要使用 .each 函数。 .style("font-weight", "bold") 行使所有文本标签变为粗体,但我只希望将某些值变为粗体。关于正确语法的任何想法?
g.append("svg:text")
.each(function(d) { d.angle = (d.startAngle + d.endAngle) / 2; })
.attr("dy", ".35em")
.style("font-family", "helvetica, arial, sans-serif")
.style("font-size", "10px")
//.style("font-weight", "bold")
.attr("text-anchor", function(d) { return d.angle > Math.PI ? "end" : null; })
.attr("transform", function(d) {
return "rotate(" + (d.angle * 180 / Math.PI - 90) + ")"
+ "translate(" + (r0 + 36) + ")"
+ (d.angle > Math.PI ? "rotate(180)" : "");
})
.text(function(d) { return rdr(d).gname; });
【问题讨论】:
-
能否为字体粗细属性或样式创建一个函数,当条件为真时返回粗体?
标签: javascript text d3.js labels