我想把标签旋转成黄色。
我已经浏览过这个链接
但在此链接中,传递给translate函数的值是静态值。
<text transform="translate(200,100)rotate(180)">Hello!</text>
我想传递函数返回的动态值。
因此,在这段代码中,x和y从函数中获取值,因此我希望将这些值传递给translate属性,但在控制台中遇到错误
d3.min.js:1错误:属性transform=的值无效“translate( \"function(d){ return xScale(d.country) + xScale.rangeBand()/2;}\",\”function(D){ return yScale(d.populationValue)+ 12;}\")rotate(-90)“
.attr({
"x": function(d){ return xScale(d.country) + xScale.rangeBand()/2; },
"y": function(d){ return yScale(d.populationValue)+ 12; },
"text-anchor": 'middle',
"fill": 'yellow',
"transform": 'translate("function(d){ return xScale(d.country) + xScale.rangeBand()/2; }","function(d){ return yScale(d.populationValue)+ 12; }")rotate(-90)'
发布于 2016-07-15 13:40:40
您必须使用以下函数返回所有translate
字符串:
"transform": function(d){
return "translate(" + xScale(d.country) + xScale.rangeBand()/2
+ "," + yScale(d.populationValue) + 12 + ")rotate(-90)"
};
PS:在你这样做之后,我打赌结果不会像你预期的那样……但这将是另一个问题,对于另一个问题。
https://stackoverflow.com/questions/38388517
复制相似问题