【发布时间】:2014-01-10 01:23:33
【问题描述】:
我目前正在使用 ASP.Net 图表来绘制大量数据,一个图表上可能包含数万个数据点。所有这些数据点都是可点击的,并且通过非常繁重的 HTML 地图具有工具提示。它可以处理负载,但有时会对浏览器造成很大的损失。我想知道 HTML5 画布是否有更好的解决方案?
是否有任何工具可以通过 HTML5 画布绘制数据?在每个数据点上保持悬停工具提示和点击事件的东西是理想的。
【问题讨论】:
我目前正在使用 ASP.Net 图表来绘制大量数据,一个图表上可能包含数万个数据点。所有这些数据点都是可点击的,并且通过非常繁重的 HTML 地图具有工具提示。它可以处理负载,但有时会对浏览器造成很大的损失。我想知道 HTML5 画布是否有更好的解决方案?
是否有任何工具可以通过 HTML5 画布绘制数据?在每个数据点上保持悬停工具提示和点击事件的东西是理想的。
【问题讨论】:
Canvas 可以处理任意数量的数据点,原因很简单,一旦您在 Canvas 上绘制某些内容,它就会成为光栅图像的一部分,而不是另存为单独的数据。
但是,对于您的工具提示功能,您需要实现其他功能来确定鼠标在画布中单击的位置——即,您必须跟踪内存中的数据位置,并实现一个点击功能搜索该数据结构以确定要显示的工具提示。
许多人尝试过使用 D3 方法(通常链接到 DOM SVG 元素)来根据数据计算出图形布局,然后将该布局绘制到画布而不是添加到 DOM。
【讨论】: