d3.js实现竖直柱状图表

index.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<link rel="stylesheet" type="text/css" href="css/style.css" media="screen" type="text/css"/>
</head>
<body>
	<div id="container"></div>
	
	<script src="http://d3js.org/d3.v3.js" type="text/javascript"></script>
	<script src="js/index.js" type="text/javascript"></script>
</body>
</html>

index.js

var data = [1,4,7,2,9,13,5,8,2,9],
bar_width = 50,
bar_padding = 10,
svg_width = (bar_width + bar_padding)*data.length,
svg_height=500;

var scale = d3.scale.linear()
.domain([0,d3.max(data)])
.range([svg_height,0]);

var svg = d3.select("#container")
.append("svg")
.attr("width",svg_width)
.attr("height",svg_height)

var bar = svg.selectAll("g")
.data(data)
.enter()
.append("g")
.attr("transform",function(d,i){return "translate("+ i*(bar_width+bar_padding) +",0)";})

bar.append("rect")
.attr({
	"y":function(d){return scale(d);},
	"width":bar_width,
	"height":function(d){return svg_height - scale(d);}
})
.style("fill","steelblue")

bar.append("text")
.text(function(d){return d;})
.attr({
	"y":function(d){return scale(d);},
	"x":bar_width/2,
	"dy":15,
	"text-anchor":"middle"
})

 

相关文章:

  • 2021-07-08
  • 2022-12-23
  • 2022-12-23
  • 2021-12-08
  • 2022-03-05
  • 2021-10-30
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-28
  • 2022-12-23
  • 2022-01-07
  • 2022-01-16
  • 2022-12-23
  • 2021-07-12
  • 2021-04-23
相关资源
相似解决方案