2017-03-09 121 views
1

这可能是一个不容易理解的问题,但我已经用尽了我的选择。下面是一个链接的jsfiddle:D3没有显示SVG文本元素

JSFiddle

svg.selectAll("text") 
    .data(dataset) 
    .enter() 
    .append("text") 
    .text(function(d) { 
    return d.percentComplete; 
    }) 
    .attr("x", function(d) { 
    return xScale(new Date(d.startDate)); 
    }) 
    .attr("y", function(d) { 
    return (yScale(d.taskName)) + ((h - margin.bottom)/taskCnt)/2; 
    }) 
    .attr("font-family", "sans-serif") 
    .attr("font-size", "11px") 
    .attr("fill", "white") 
    .attr("text-anchor", "middle"); 

我不能让我的标签显示在栏显示完成的百分比。不知道我做错了,因为这段代码在另一个作品中有效。顺便说一句,我知道我的位置是不正确的,我需要让标签显示之前,我开始把标签放在正确的地方。

在此先感谢!

汤姆

回答

1

https://jsfiddle.net/guanzo/pje44ne7/2/

你与D3创建的轴包含text元素,让与您selectAll('text')干扰。只需添加一个类,指定要使用哪种文本。

svg.selectAll("text.label") 
    .data(dataset) 
    .enter().append("text").attr('class','label') 
    ...//rest of your code 
+0

完全忘了我的轴有文本元素!谢谢,你的解决方案工作! –