<!DOCTYPE html> <meta charset="utf-8"> <style> body { font-family: "Helvetica Neue", Helvetica, sans-serif; } svg { background-color: steelblue; } path { fill: green; stroke: #fff; stroke-width: .5px; } </style> <body> <script src="http://d3js.org/d3.v3.min.js"></script> <script src="http://d3js.org/topojson.v1.min.js"></script> <script> var width = 960, height = 960; var projection = d3.geo.mercator() .scale(width / 2 / Math.PI) .translate([width / 2, height / 2]) .precision(.1); var path = d3.geo.path() .projection(projection); var graticule = d3.geo.graticule(); var svg = d3.select("body").append("svg") .attr("width", width) .attr("height", height); d3.json("countries.json", function(world) { var countries = topojson.feature(world, world.objects.countries).features; svg.selectAll(".country") .data(countries) .enter().insert("path") .attr("class", "country") .attr("d", path); }); d3.select(self.frameElement).style("height", height + "px"); </script> </body>