Created
April 9, 2015 13:40
-
-
Save estebanafonso/931a05b85a88cba0c155 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8"> | |
<title>Assignment 3</title> | |
<script type="text/javascript" src="http://d3js.org/d3.v3.min.js"></script> | |
<style type="text/css"> | |
body { | |
background-color: white; | |
font-family: Helvetica, Arial, sans-serif; | |
} | |
h1 { | |
font-size: 24px; | |
margin: 0; | |
} | |
p { | |
font-size: 14px; | |
margin: 10px 0 0 0; | |
} | |
svg { | |
background-color: white; | |
} | |
rect:hover { | |
fill: orange; | |
} | |
.axis path, | |
.axis line { | |
fill: none; | |
stroke: black; | |
shape-rendering: crispEdges; | |
} | |
.axis text { | |
font-family: sans-serif; | |
font-size: 11px; | |
} | |
.y.axis path, | |
.y.axis line { | |
opacity: 0; | |
} | |
</style> | |
</head> | |
<body> | |
<h1>Number of New Lego Sets Released in 2014 by Theme</h1> | |
<p>Data from www.brickset.com</p> | |
<script type="text/javascript"> | |
var w = 1200; | |
var h = 700; | |
var padding = [ 20, 10, 30, 220 ]; //Top, right, bottom, left | |
var widthScale = d3.scale.linear() | |
.range([ 0, w - padding[1] - padding[3] ]); | |
var heightScale = d3.scale.ordinal() | |
.rangeRoundBands([ padding[0], h - padding[2] ], 0.1); | |
var xAxis = d3.svg.axis() | |
.scale(widthScale) | |
.orient("bottom"); | |
var yAxis = d3.svg.axis() | |
.scale(heightScale) | |
.orient("left"); | |
var svg = d3.select("body") | |
.append("svg") | |
.attr("width", w) | |
.attr("height", h); | |
d3.csv("legobarchart.csv", function(data) { | |
data.sort(function(a, b) { | |
return d3.descending(+a.numtypes, +b.numtypes); | |
//If your numeric values aren't sorting properly, | |
//try commenting out the line above, and instead using: | |
// | |
//return d3.descending(+a.lifeSatisfaction, +b.lifeSatisfaction); | |
// | |
//Data coming in from the CSV is saved as strings (text), | |
//so the + signs here force JavaScript to treat those | |
//strings instead as numeric values, thereby fixing the | |
//sort order (hopefully!). | |
}); | |
widthScale.domain([ 0, d3.max(data, function(d) { | |
return +d.numtypes; | |
}) ]); | |
heightScale.domain(data.map(function(d) { return d.Theme; } )); | |
var rects = svg.selectAll("rect") | |
.data(data) | |
.enter() | |
.append("rect"); | |
var labels = svg.selectAll("text") | |
.data(data) | |
.enter() | |
.append("text"); | |
rects.attr("x", padding[3]) | |
.attr("y", function(d) { | |
return heightScale(d.Theme); | |
}) | |
.attr("width", function(d) { | |
return widthScale(d.numtypes); | |
}) | |
.attr("height", heightScale.rangeBand()) | |
.attr("fill", "steelblue") | |
.append("title") | |
.text(function(d) { | |
return + d.numtypes + " " + d.Theme + " sets released in 2014."; | |
}); | |
svg.append("g") | |
.attr("class", "x axis") | |
.attr("transform", "translate(" + padding[3] + "," + (h - padding[2]) + ")") | |
.call(xAxis); | |
svg.append("g") | |
.attr("class", "y axis") | |
.attr("transform", "translate(" + padding[3] + ",0)") | |
.call(yAxis); | |
; | |
}); | |
</script> | |
</body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Theme | numtypes | |
---|---|---|
Advanced Models | 5 | |
Agents | 6 | |
Architecture | 2 | |
Bricks and More | 1 | |
Castle | 2 | |
City | 34 | |
Collectable Minifigures | 48 | |
Creator | 16 | |
DC Comics Super Heroes | 8 | |
Disney Princess | 7 | |
Duplo | 32 | |
Friends | 31 | |
Fusion | 4 | |
HERO Factory | 15 | |
Ideas | 4 | |
Juniors | 11 | |
Legends of Chima | 44 | |
Marvel Super Heroes | 13 | |
Minecraft | 7 | |
Miscellaneous | 2 | |
Mixels | 27 | |
Ninjago | 10 | |
Promotional | 8 | |
Seasonal | 10 | |
Star Wars | 34 | |
Technic | 11 | |
Teenage Mutant Ninja Turtles | 9 | |
The Hobbit | 4 | |
The LEGO Movie | 18 | |
The Simpsons | 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment