gpt4 book ai didi

javascript - d3 : Using DataMaps to create a map of the USA

转载 作者:行者123 更新时间:2023-12-03 00:26:09 24 4
gpt4 key购买 nike

我正在尝试使用 DataMaps 包和 d3 获取简单的美国 map 。我尝试过以下方法:

<!DOCTYPE html>
<html>
<head>
<title> TEST </title>

<script src="https://d3js.org/d3.v5.js"></script>
<script src="https://unpkg.com/topojson@3"></script>
<script src="node_modules/datamaps/dist/datamaps.world.min.js"></script>

<div id="container" style="position: relative; width: 500px; height: 300px;"></div>

<script>

var map = new Datamap({
element: document.getElementById('container'),
scope: 'usa'
})

var projection = d3.geoAlbers()

</script>

我认为我在上面的链接中搞砸了(并且我已经使用 NPM 安装了 DataMaps)。我认为我没有达到正确的 d3 版本或该领域的某些内容。

现在我收到此错误:

Uncaught TypeError: Cannot read property 'albersUsa' of undefined

我根据这个问题修复了这个问题:albersUsa fix

如果我将 usa 更改为 world,我会收到相同的错误,但使用 equirectangular 而不是 albersUsa。

如何渲染此 map ?谢谢

最佳答案

Andrew Reid 是对的,看起来像是 D3 版本问题。我以前没有使用过这个库,但能够使用这个示例(和 v3 d3)获得一个简单的 choropleth:

<!DOCTYPE html>
<html>
<head>
<title> TEST </title>

<script src="https://d3js.org/d3.v3.js"></script>
<script src="https://unpkg.com/topojson@3"></script>
<script src="node_modules/datamaps/dist/datamaps.world.min.js"></script>

<div id="container" style="position: relative; width: 500px; height: 300px;"></div>

<script>

var map = new Datamap({
element: document.getElementById('container'),
fills: {
HIGH: '#afafaf',
LOW: '#123456',
MEDIUM: 'blue',
UNKNOWN: 'rgb(0,0,0)',
defaultFill: 'green'
},
data: {
IRL: {
fillKey: 'LOW',
numberOfThings: 2002
},
USA: {
fillKey: 'MEDIUM',
numberOfThings: 10381
}
}
});


</script>

但是,我无法让您的示例使用相同的更改,因此您发布的代码可能存在更深层次的问题。

关于javascript - d3 : Using DataMaps to create a map of the USA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54080054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com