我使用d3.js构建一个简单的条形图,它工作正常。 但是,当我尝试在每个栏上显示文本时,没有任何反应。控制台没有返回任何错误,所以我无法理解问题。 我的代码可用here,我试图显示简单的文字,如" Hello"但仍然没有出现。
答案 0 :(得分:0)
<强>问题:强>
将文本附加到SVG中的rect
元素。
<强>解决方案:强>
将文本附加到SVG或组。
<强>说明:强>
您正在将文本附加到矩形。在控制台中没有任何内容会显示为错误,因为没有错误显示,但文本不会出现。
您必须为文本创建一个变量:
var texts = svg.selectAll(".mytexts")
.data(data)
.enter()
.append("text");
然后设置属性:
texts.attr("class", "value")
.attr("x", function(d) { return widthScale(d.vacant); })
.attr("y", heightScale.rangeBand() / 2)
.attr("dx", -3)
.attr("dy", ".35em")
.attr("text-anchor", "end")
.text(function(d) { return format(d.vacant); });
不要忘记相应地更改CSS。