Set of d3 projections for showing countries distant lands together
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
test uglify Apr 28, 2017
.gitignore render finally working Aug 29, 2016
.travis.yml Last changes before 1.0.0 version Sep 23, 2016 updating readme and changes Apr 28, 2017
LICENCE Update CDN urls May 12, 2017
d3-composite-projections.js Updating npm packages Feb 1, 2018
d3-composite-projections.min.js Updating npm packages Feb 1, 2018
index.js geoEquatorialGuinea added Apr 28, 2017
package.json Updating npm packages Feb 1, 2018
thumbnail.png thumbnail for readme Sep 23, 2016


Build Status

Set of d3 projections for showing countries' distant lands together



This is the version compatible with d3v4, please go here for the version compatible with d3v3.

The projection itself works the same way as the other d3 projections. To be more precise, exactly as the albersUsa projection:

<script src=""></script>
<script src="d3-composite-projections.js"></script>
var projection = d3.geoConicConformalPortugal();

Change the scale using scale i.e. .scale(3000), as usual. The projections are prepared to fit a 960x500px SVG or Canvas.

The projection is available for:

To draw the borders between the projection zones, use getCompositionBorders() for SVG:

 .attr("d", path(projection.getCompositionBorders()));

or drawCompositionBorders if using Canvas:


Using with node

var d3_composite = require("d3-composite-projections");
var d3_geo = require("d3-geo");
var projection = d3_composite.geoAlbersUsaTerritories();


Getting the files

You can get the files just by cloning the repository:

git clone

or downloading the d3-composite-projections.js or d3-composite-projections.min.js files.

Using cdnjs or unpkg

You can link the files from your web page to cdnjs:

<script src=""></script>


<script src=""></script>

Using NPM


npm install d3-composite-projections

This will download all the dependencies, the test files.

Running the tests

The tests can be run using:

npm test