D3.js列图表在添加文本时反转

时间:2013-04-18 18:27:13

标签: d3.js

我正在尝试使用allignedleft中的示例中的div创建基本柱形图,并且已发布了一个mike。图表有效,除非我添加文本,它反转。

<!DOCTYPE html>
<head>
<style type="text/css">

div.abc {
 display: inline-block;
 width: 20px;
 height: 75px;
 background-color: teal;
 margin-right: 2px;
}

</style>
</head>
<body>
<script type="text/javascript" src="http://d3js.org/d3.v2.js?2.8.1"></script>
<script>

var dataset = [16,13,8,2,1,10,0,5,24,15,2,6,12];


d3.select("body").selectAll("div")
.data(dataset)
.enter()
.append("div")
.attr("class", "abc")
.style("height", function(d) {
    var barHeight = d * 5;
    return barHeight + "px";
})
.style("margin-top",function(d) {
    var barHeight = d * 5;
    return 500 - barHeight;
})
.style("text-align","center")
.style("color","black")
.text(function (d) { return d; });
</script>
</body>
</html>

感谢

斯利拉姆

1 个答案:

答案 0 :(得分:0)

问题是div中文本的垂直对齐方式。如果你添加

vertical-align: bottom;

到你的CSS,它应该再次工作。请注意,您的某些div对于文本来说太小了。在这些情况下,标签将不与其余标签对齐。我建议您为标签创建单独的div并相应地放置它们。