D3.js 当我有陆地坐标信息时,如何在d3中使用topojson为海洋着色?

D3.js 当我有陆地坐标信息时,如何在d3中使用topojson为海洋着色?,d3.js,map,topojson,D3.js,Map,Topojson,我正在用d3学习topojson。 我有正确渲染的土地坐标信息。 那么,我如何给海洋(基本上是陆地以外的)添加颜色呢?我试着给分划着色,但并没有填满整个地图,也没有留下空白点 可视化的主机位于 没有必要(而且计算起来相当困难,而且有点昂贵)计算出陆地的倒数。但是你可以给背景上色 也就是说,您可以使用CSS: svg { background: lightBlue; } 或者,您可以在地图后面的元素前面添加蓝色填充: svg.append('rect') .attr('width', m

我正在用d3学习topojson。 我有正确渲染的土地坐标信息。 那么,我如何给海洋(基本上是陆地以外的)添加颜色呢?我试着给分划着色,但并没有填满整个地图,也没有留下空白点

可视化的主机位于

没有必要(而且计算起来相当困难,而且有点昂贵)计算出陆地的倒数。但是你可以给背景上色

也就是说,您可以使用CSS:

svg {
  background: lightBlue;
}
或者,您可以在地图后面的
元素前面添加蓝色填充:

svg.append('rect')
  .attr('width', mapWidth)
  .attr('height', mapHeight)
  .attr('fill', 'lightBlue')

只想补充一点:为了只给地球本身上色,您必须使用边界半径将svg设为一个圆。不过,结果看起来不错:

@user3562812当然!有什么理由不接受这个答案吗?对不起,我不知道这个功能。再次感谢。
svg.append('rect')
  .attr('width', mapWidth)
  .attr('height', mapHeight)
  .attr('fill', 'lightBlue')