javascript - 在柱形图中旋转标签 d3.JS

标签 javascript css d3.js svg

我想旋转黄色的标签。

image for the labels

我已经通过了这个链接

rotate x axis text in d3

但在此链接中,传递给翻译函数的值是静态值。

<text transform="translate(200,100)rotate(180)">Hello!</text>

我想传递函数返回的动态值。

所以在这段代码中,x 和 y 从函数中获取值,所以我想将这些值传递给翻译属性,但在控制台中出现错误

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)'

expected output

最佳答案

您必须使用以下函数返回所有 translate 字符串:

"transform": function(d){
    return "translate(" + xScale(d.country) +  xScale.rangeBand()/2 
    + "," + yScale(d.populationValue) + 12 + ")rotate(-90)"
};

PS:在你这样做之后,我敢打赌结果不会是你所期望的......但这将是另一个问题,对于另一个 SO 问题。

关于javascript - 在柱形图中旋转标签 d3.JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38388517/

相关文章:

javascript - D3 中的数组变换

javascript - D3 随时间堆积的条形图

r - 将 d3heatmap 的图像保存在文件中

javascript - 替换字符串中的内容所需的 Jquery 函数

javascript - jQuery .focusout/.click 冲突

css - 我如何在圆圈中绘制底弦?

javascript - 如何在封闭的 Dojo Titlepane 中垂直居中内容?

html - 如何使用 display inline-block 将元素右对齐?

使用 dc.js 对条形图中的条形进行排序

javascript - 将带点符号的字符串转换为 JSON