2014-10-06 27 views
1

我有這張圖表,我需要根據變量製作一些標籤粗體。但我不知道D3如何實現這一目標。我認爲可能需要使用.each函數。 line .style(「font-weight」,「bold」)使所有文本標籤變爲粗體,但我只希望將某些值設爲粗體。任何關於正確語法的想法?d3基於值的文本標籤格式

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; }); 
+0

你能創造的字體重量屬性或風格,大膽的返回功能,當條件爲真答案? – 2014-10-06 18:18:41

回答

2

這種做法似乎工作...

 .style("font-weight", function(d) {if(selectedvaluessplit.indexOf(rdr(d).gname) > -1) {return "bold"}}) 

這是