通过div来实现条形图

在d3中,我们一通过svg中rect来绘制条形图,其实也可以通过div简单的色块填充来实现。

  • 总体思路:
  • 添加div元素
  • 添加类(类中设置好css样式)
  • 或者style()直接设置css样式
<style type="text/css">
	div.bar {
		width: 75px;
		height: 100px;
		display: inline-block;
		background-color: blue;

	}

</style>
<body>
	
</body>
<script type="text/javascript">
	var dataset=[1,2,3,4,5]
	w=500;
	h=300;
	
	d3.select("body")
		.selectAll("div")
		.data(dataset)
		.enter()
		.append("div")
		.attr("class","bar")
		// .classed("bar",false)
		.style("width",100+"px")
		.style("height",function(d,i){
			return d*10+"px";
		})
		.style("margin-right",function(d,i){
			return 2+"px";
		})
		.style("display","inline-block")
		.style("background-color","pink")

</script>

  • 解释:
  • classed()方法是d3中添加类和删除类的快捷方法,这里只是检验方法而已,
  • 可以在chrome下f12,看到style能直接设置css样式,并且覆盖类中设置的,优先级更高
posted @ 2017-09-21 10:53  Braveliberty  阅读(300)  评论(0编辑  收藏  举报