d3.js を使用して簡単なカートグラムを作成していますが、元のマップを描画する際にエラーが発生します。ここに例の要点を書きました。次のような機能を作成しようとすると、エラーが発生します。
geometries = topology.objects.mex_estados.geometries;
var features = carto.features(topology, geometries)
topology は d3.json 呼び出しによって返されるオブジェクトであり、carto.features への呼び出しによってトリガーされる "Uncaught TypeError: topojson.object is not a function" というエラーが表示されます。
変数 carto は通常の方法で定義されます。
var proj = d3.geo.mercator()
.center([-97.16, 21.411])
.scale(1000);
var carto = d3.cartogram()
.projection(proj)
.properties(function (d) {
//regresa también las propiedades (valores) de la fuente de dato
return d.properties;
});
ここで立ち往生しています。以前に d3 でカートグラムを作成したことがありますが、ここで明らかな何かが欠けているに違いありません。