我正在使用 d3(更像是学习使用)来创建等值线图。我已经管理加载我的数据和 geojson 对象并获得要显示的地图,但我想添加一些转换和用户选择数据的能力。
这是我到目前为止所拥有的一个示例(感谢 github 和 Mike Bostock 的不错的 gist 查看器):
http://bl.ocks.org/4131166;和 http://gist.github.com/4131166
我设法通过将关联的类更改为组来更改颜色,但是我将其交换为 Cynthia Brewer 的颜色的 js 版本,因为我想在它们之间进行转换。我还希望在选择不同的“乐队”时改变颜色。
我认为我的问题在于 updateValues 函数 - 它做得太多了。它一次性加载数据、绘制多边形和填充颜色。
是否可以绘制多边形,然后在单独的函数中关联颜色?
我曾考虑添加一个:
.attr("id", function(d) { return d.id; })
行到绘制路径的语句,然后以某种方式使用它在单独的语句中链接到数据,但我不太确定如何实现这一点 - 我猜想以某种方式检索每个路径的 id 并链接到数据。 ..?
任何帮助将不胜感激。即使这是关于如何改进我的代码的建议。我总是很高兴在相关的地方观察最佳实践。