d3 从点数组渲染多边形
d3 render polygon from points array
我正在使用 d3 和点字符串渲染多边形,如下所示:
shapes.enter()
.append("polygon")
.attr("points", function(d) {
return d.path; // string of points ("123.123 22.334 ....")
});
我在数组中有这些点,我正在使用 array.join(" ")
获取字符串路径。
问题是我点数多,join操作繁重
有没有办法在不生成字符串路径的情况下将array本身传递给points属性?
否则,如果您有如何有效地将浮点数组转换为字符串路径的技巧?
答案:
最终,我们将数组划分为子数组,并将每个子数组单独连接成字符串,最后将所有字符串连接起来。
不知何故,它比我们尝试做的任何其他事情都要快。
最终,我们将数组分成子数组,并将每个子数组单独连接成字符串,最后将所有字符串连接起来。
不知何故,它比我们尝试做的任何其他事情都快(array.join 整个数组或每个元素的字符串连接)
我正在使用 d3 和点字符串渲染多边形,如下所示:
shapes.enter()
.append("polygon")
.attr("points", function(d) {
return d.path; // string of points ("123.123 22.334 ....")
});
我在数组中有这些点,我正在使用 array.join(" ")
获取字符串路径。
问题是我点数多,join操作繁重
有没有办法在不生成字符串路径的情况下将array本身传递给points属性?
否则,如果您有如何有效地将浮点数组转换为字符串路径的技巧?
答案:
最终,我们将数组划分为子数组,并将每个子数组单独连接成字符串,最后将所有字符串连接起来。 不知何故,它比我们尝试做的任何其他事情都要快。
最终,我们将数组分成子数组,并将每个子数组单独连接成字符串,最后将所有字符串连接起来。
不知何故,它比我们尝试做的任何其他事情都快(array.join 整个数组或每个元素的字符串连接)