使用JOINS是否也有性能提升

时间:2013-03-12 02:36:49

标签: d3.js

我正在思考散点图......上面有很多圆圈的图表。让我们说5000圈。 然后我看到一些代码说好了这里是你如何用D3绘制“一个”圆圈,现在我想要5000个那些,每个都是一个DOM吧? 那么浏览器会崩溃还是可以处理?然后我来到这个博客文章 http://bost.ocks.org/mike/join/ 这解释了JONIS .... 那么这是否意味着如果我使用JOINS然后我将不需要创建5000个单独的圆圈,性能将大大提高?或者它只是一个很好的语法,但性能仍然相同?

1 个答案:

答案 0 :(得分:1)

加入只是意味着如果你加载一些新数据,那么你就可以轻松分开:新圈子(selection.enter()),删除的圈子(selection.exit())和所有圈子({{1 }})。!

在下图中,元素对应于已加载的数据以及用于创建新圆圈的新数据的数据。

Elements vs data

因此,您仍然会加载5000个单独的圆圈。但是,如果您只更新一个圈子,则不会使用selection重绘5000个圈子。因此,通过明智地使用此工具,您可以提高动态可视化的性能。