Created
April 9, 2015 13:40
-
-
Save estebanafonso/c978b5e3d1ffda568fab to your computer and use it in GitHub Desktop.
Module 4 Assignment
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