Javascript 旋转时d3.js文本消失

Javascript 旋转时d3.js文本消失,javascript,jquery,html,d3.js,text-rotation,Javascript,Jquery,Html,D3.js,Text Rotation,我和看似简单的问题斗争了半天,但毫无结果,所以我很想从天才那里得到一些好的建议 我有一个演示 我试图将其放入JSFIDLE,但无法正确获取库,希望这仍然允许您深入研究 当旋转文本消失时,问题在d3.js javascript代码中表现出来。或者实际上是旋转文本的一部分 页面上的每对条都应该有两行文字旋转45度(下坡),以避免在相邻的条上书写。如果我不旋转文本,所有内容都是可见的(但重叠),但如果我旋转,只有第一对行是可以的。在那之后,第一个文本消失了(或者在某些版本上被几十个像素随意地放错了位置

我和看似简单的问题斗争了半天,但毫无结果,所以我很想从天才那里得到一些好的建议

我有一个演示

我试图将其放入JSFIDLE,但无法正确获取库,希望这仍然允许您深入研究

当旋转文本消失时,问题在d3.js javascript代码中表现出来。或者实际上是旋转文本的一部分

页面上的每对条都应该有两行文字旋转45度(下坡),以避免在相邻的条上书写。如果我不旋转文本,所有内容都是可见的(但重叠),但如果我旋转,只有第一对行是可以的。在那之后,第一个文本消失了(或者在某些版本上被几十个像素随意地放错了位置),但是第二个文本使用了完全相同的代码结构。我交换了值,问题不在于值,而在于顺序

下面是我用javascript编写的主要代码

$.each(data, function(a_key,a_val){
            $.each(a_val, function(form_key,form_val){
                $.each(form_val, function(person_key,person_val){
                    svg.append("rect")
                .attr("x", start*2*width+width)
                .attr("y", 420-person_val.val1/person_val.val1_max*400)
                .attr("width", width-5)
                .attr("height", person_val.val1/person_val.val1_max*400)
                .style("fill", "red");
            svg.append("rect")
                .attr("x", start*2*width)
                .attr("y", 420-person_val.val2/person_val.val2_max*400)
                .attr("width", width-5)
                .attr("height", person_val.val2/person_val.val2_max*400)
                .style("fill", "green");
            svg.append("text")
                        .attr("text-anchor", "start")
                        .attr("transform","translate(" + start*2*width+20  + ",430) rotate(45)")
                        .style("font-size","0.85em")
                        .text(person_val.pname);
                    svg.append("text")
                        .attr("text-anchor", "start")
                        .attr("transform","translate(" + start*2*width  + ",430) rotate(45)")
                        .style("font-size","0.85em")
                        .text(person_val.ptype);
                    start++;
                });
            });
该应用程序只是实际解决方案的一个模型,但应该显示基本问题,而不会分散注意力。每对条形图下面都应有描述文字。目前他们还没有集中精力,但如果事情解决了,变化应该是直接的

有人知道如何更正代码吗?

问题在于
“translate(“+start*2*width+20+”,430)rotate(45)”
code。
结果之一是
translate(8020430)rotate(45)
。Javascript将
20
转换为字符串。试着在
start*2*width+20
表达式周围加上大括号。

谢谢,这就是问题所在。让我哑口无言(事后很容易看到)。实际上,在调用d3.js函数之前,我将该值存储为变量。