Skip to content

Instantly share code, notes, and snippets.

@emeeks
Last active March 18, 2016 15:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save emeeks/f46481666fc896a30ea0 to your computer and use it in GitHub Desktop.
Save emeeks/f46481666fc896a30ea0 to your computer and use it in GitHub Desktop.
Ch. 3, Fig. 2 - D3.js in Action

This is the code for Chapter 3, Figure 2 from D3.js in Action which loads a CSV file and creates a circle and text for each datapoint.

<html>
<head>
<title>D3 in Action Chapter 3 - Example 1</title>
<meta charset="utf-8" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
</head>
<style>
svg {
height: 500px;
width: 500px;
border: 1px solid gray;
}
text {
font-size: 10px;
}
g > text.active {
font-size: 30px;
}
circle {
fill: pink;
stroke: black;
stroke-width: 1px;
}
circle.active {
fill: red;
}
circle.inactive {
fill: gray;
}
</style>
<body>
<div id="viz">
<svg>
</svg>
</div>
<div id="controls" />
</body>
<footer>
<script>
d3.csv("worldcup.csv", function(data) {
overallTeamViz(data);
})
function overallTeamViz(incomingData) {
d3.select("svg")
.append("g")
.attr("id", "teamsG")
.attr("transform", "translate(50,300)")
.selectAll("g")
.data(incomingData)
.enter()
.append("g")
.attr("class", "overallG")
.attr("transform", function (d,i) {return "translate(" + (i * 50) + ", 0)"});
var teamG = d3.selectAll("g.overallG");
teamG
.append("circle")
.attr("r", 20)
.style("fill", "pink")
.style("stroke", "black")
.style("stroke-width", "1px")
teamG
.append("text")
.style("text-anchor", "middle")
.attr("y", 30)
.style("font-size", "10px")
.text(function(d) {return d.team})
}
</script>
</footer>
</html>
team region win loss draw points gf ga cs yc rc
Netherlands UEFA 6 0 1 18 12 6 2 23 1
Spain UEFA 6 0 1 18 8 2 5 8 0
Germany UEFA 5 0 2 15 16 5 3 10 1
Argentina CONMEBOL 4 0 1 12 10 6 2 8 0
Uruguay CONMEBOL 3 2 2 11 11 8 3 13 2
Brazil CONMEBOL 3 1 1 10 9 4 2 9 2
Ghana CAF 2 2 1 8 5 4 1 12 0
Japan AFC 2 1 1 7 4 2 2 4 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment