カルトグラムをつくる

1. カルトグラム Cartogram とは

『統計データに基づき地図を変形し,地域の特徴を視覚的に表現する地図』


f:id:tattii:20140909163755p:plain

  • 面積カルトグラム
  • 距離カルトグラム

2種類のカルトグラムがある。

今回は、面積カルトグラムを作成する。
面積カルトグラムとは、面積によってデータを可視化する地図。

2. 使用するもの

shawnbot/d3-cartogram · GitHub


データ
農林水産省/作況調査(果樹) 平成25年度みかん収穫量

3. Sample


d3.json("/map/geodata/japan_prefecture_noisland.topojson", function (data) {
	var topology = data;
	var geometries = topology.objects.ken.geometries;

        // データを設定
	carto.value(function (d) {
		return pref_data[ d.properties["JIS-CODE"]-1 ];
	});

        // カルトグラム計算
	var features = carto(topology, geometries).features;

        // 描画
	map = map.data(features)
		.enter()
		.append("path")
		.attr("fill", function(d) {
			return color( pref_data[ d.properties["JIS-CODE"]-1 ] );
		})
		.attr({
			stroke: "#fff",
			"stroke-width": 1
		})
		.attr("d", carto.path);
});


// 2013 みかん収穫量 (農林水産省)
// http://www.e-stat.go.jp/SG1/estat/Xlsdl.do?sinfid=000024947688
    var pref_data = [
	1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,
	1000,1440,1000,24600,1000,1000,1000,1000,1000,1000,
	1000,121800,28200,22000,10000,1000,14200,2460,1000,168900,
	1000,1000,1000,42300,12700,13900,15900,137800,7340,26500,
	53000,60900,91600,16200,13000,15700,1000
];


example
exmaple(アニメーションつき)

4. 注意点

データに極端に小さい値を使うと、カルトグラムを作成できなかった。
みかんの収穫量が0の都道府県も多いが、値は1000とした。

島など独立した部分を持つ都道府県はうまく拡大されなかった。
例えば、東京はあまり拡大されなかったが、東京都の島の部分を削除した地理データで作成するとうまく描画された。

f:id:tattii:20140909164418p:plainf:id:tattii:20140909164423p:plain