Skip to content

Instantly share code, notes, and snippets.

@sergeiwallace
Forked from rgdonohue/README.md
Created June 30, 2018 23:29
Show Gist options
  • Save sergeiwallace/f58f3fe7747796d84909f198fe2db6f9 to your computer and use it in GitHub Desktop.
Save sergeiwallace/f58f3fe7747796d84909f198fe2db6f9 to your computer and use it in GitHub Desktop.
A D3 map using topojson
<html>
<head>
<meta charset="utf-8">
<title>A D3 map using topojson</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/queue-async/1.0.7/queue.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/topojson/1.6.19/topojson.min.js"></script>
<link href="http://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet" type="text/css">
<style>
body {
padding: 0;
margin: 0;
background: whitesmoke;
}
h1 {
position: absolute;
left: 20px;
top: 10px;
font-family: "Proxima Nova", Montserrat, sans-serif;
font-size: 2em;
font-weight: 100;
color: #005DAA; /* offical UK Kentucky blue */
}
.county {
stroke: #fff;
fill:#005DAA;
}
</style>
</head>
<body>
<h1>Kentucky Counties</h1>
<script>
var width = 900,
height = 600;
var svg = d3.select( "body" )
.append( "svg" )
.attr( "width", width )
.attr( "height", height );
var projection = d3.geo.albers()
.center([0, 37.8])
.rotate([85.8,0])
.scale(8000)
.translate([width / 2, height / 2]);
var geoPath = d3.geo.path()
.projection(projection);
queue()
.defer(d3.json, "ky-counties.json")
.await(ready);
function ready(error, counties){
svg.append("g")
.selectAll("path")
.data( topojson.feature(counties, counties.objects.counties).features)
.enter()
.append("path")
.attr( "d", geoPath )
.attr("class","county");
}
</script>
</body>
</html>
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment