我正在尝试使用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>
感谢
斯利拉姆
答案 0 :(得分:0)
问题是div中文本的垂直对齐方式。如果你添加
vertical-align: bottom;
到你的CSS,它应该再次工作。请注意,您的某些div对于文本来说太小了。在这些情况下,标签将不与其余标签对齐。我建议您为标签创建单独的div并相应地放置它们。