histogram
svg {
position: absolute;
width: 770px;
height: 720px;
}
.bar rect {
fill: steelblue;
shape-rendering: crispEdges;
}
.bar text {
fill: #fff;
}
.axis path, .axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}
var width = $("svg").width()
, height = $("svg").height()
, svg = d3.select("svg")
var margin = 80
, formatCount = d3.format(",.0f")
, bucketSize = 10
, max = Math.ceil(d3.max(data) / bucketSize) * bucketSize
, bins = max / bucketSize
var x = d3.scale.linear().domain([0, max]).range([0, width])
, hist = d3.layout.histogram().bins(x.ticks(bins))(data)
, y = d3.scale.linear().domain([0, d3.max(hist, h.prop("y"))]).range([height, 0])
, xAxis = d3.svg.axis().scale(x).orient("bottom")
svg
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(" + margin + "," + margin + ")")
var bar = svg.selectAll(".bar")
.data(hist)
.enter().append("g")
.attr("class", "bar")
.attr("transform", function(d){ return "translate(" + x(d.x) + "," + y(d.y) + ")" })
bar.append("rect")
.attr("x", 1)
.attr("width", x(hist[0].dx) - 1)
.attr("height", function(d){ return height - y(d.y) })
bar.append("text")
.attr("dy", ".75em")
.attr("y", 6)
.attr("x", x(hist[0].dx) / 2)
.attr("text-anchor", "middle")
.text(function(d){ return formatCount(d.y) })
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis)
window.h = {}
h.prop = function(attr){
return function(d){
return d[attr]
}
}
h.propToScale = function(attr, scale){
return function(d){
return scale(d[attr])
}
}
window.data = [
21,17,9,27,39,4,12,14,12,32,
19,38,9,22,3,31,8,14,21,15,
29,33
]
{"description":"histogram","endpoint":"","display":"svg","public":true,"require":[],"fileconfigs":{"inlet.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"data.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"style.css":{"default":true,"vim":false,"emacs":false,"fontSize":12},"helpers.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"_.md":{"default":true,"vim":false,"emacs":false,"fontSize":12},"config.json":{"default":true,"vim":false,"emacs":false,"fontSize":12}},"fullscreen":false,"play":false,"loop":false,"restart":false,"autoinit":true,"pause":true,"loop_type":"period","bv":false,"nclones":15,"clone_opacity":0.4,"duration":3000,"ease":"linear","dt":0.01}
[ Launch: scatter plot ] 5421268 by malkomalko
[ Launch: scatter plot ] 5420839 by malkomalko