创建等高线地图

14

如何根据一组 (x, y, z) 坐标创建等高线图?

如果能够在 中实现会很不错,但如果我有一些方向,自己尝试实现也不介意。


对于 用户,是否可以使用 d3.geom.contour() 和 jasondavies' conrec.js 创建等高线地图:

https://github.com/jasondavies/conrec.js

本质上,我想使用 d3.js 复制这个等高线图:http://beaugunderson.com/routes/

2个回答

6

看起来可以使用conrec.js很容易实现。如果您按照当前数据格式传递数据,您可以通过在结果上调用.contourList()获取路径列表。这个列表应该可以直接传递给d3.data()函数,无需修改。您只需要提供一个路径生成器,将数据中的坐标映射到屏幕坐标即可。


结合d3.js使用conrec.js的示例:https://github.com/jasondavies/conrec.js/tree/master/example - Stefan
事情显然并不像这里描述的那么简单。有没有示例?我们不能仅将[x,y,z]值提供给conrec,它需要进行转换,并且似乎需要进行重大变化。至少我是这样理解的。即使您查看github示例,提供作为初始“data”参数的不是“nx3”数组。 - Nikita Vlasenko
很遗憾,我不认为这是准确的。我刚试图使用conrec.js,但发现它需要一个均匀间隔的点网格,而不是X、Y、Z坐标数组。将坐标转换为网格并不是非常直接 - 这可能需要额外的算法。虽然有可能,但并不“容易”。 - Simon East

1

不幸的是,d3.js的轮廓插件需要一个固定的Z值网格,而不是任意X、Y、Z值的数组。如果没有额外的库,进行转换相当困难。 - Simon East

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接