在d3正交过渡图中改变水的颜色

时间:2015-02-05 18:54:24

标签: d3.js topojson orthographic

我是D3的新手,这是我对stackoverflow的第一个问题。

我想在这个包含过渡的示例中更改水的颜色: http://bl.ocks.org/mbostock/4183330

我可以更改此示例中的颜色,这是静态的:http://bl.ocks.org/mbostock/3757125

我找到了这个帖子:How can I color ocean with topojson in d3 when I have coordinate info for land?然而,这也改变了地球之外的区域。

代码的这一部分似乎是样式,但我无法确定添加什么来改变水色。

c.fillStyle = "#bbb", c.beginPath(), path(land), c.fill();
c.fillStyle = "#f00", c.beginPath(), path(countries[i]), c.fill();
c.strokeStyle = "#fff", c.lineWidth = .5, c.beginPath(), path(borders), c.stroke();
c.strokeStyle = "#000", c.lineWidth = 2, c.beginPath(), path(globe), c.stroke();

另外,看到下面的代码行,我在网上搜索了可能表示水的可能的topojson特征和/或对象的参考列表,也许我可以弄清楚如何设计样式,但无法找到之一:

land = topojson.feature(world, world.objects.land),

我想知道这是否与画布有关(我不太了解)。

希望我能忽略一些明显的和noob一样的东西。

非常感谢!

1 个答案:

答案 0 :(得分:1)

哈!当然:

修改此行:

c.strokeStyle = "#ccc", c.lineWidth = .5 * ratio, c.beginPath(), path(globe), c.stroke();

对此:

c.fillStyle = "#000", c.beginPath(), path(globe), c.fill();

我觉得很傻,但我想有时需要全力以赴才能让脑细胞点击。谢谢!