Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用<;帆布>;元素?_Javascript_Html_Canvas_Heatmap - Fatal编程技术网

Javascript 使用<;帆布>;元素?

Javascript 使用<;帆布>;元素?,javascript,html,canvas,heatmap,Javascript,Html,Canvas,Heatmap,是否有JavaScript库允许您使用浏览器中的图形呈现功能(如或SVG)创建热图 我知道HeatMapAPI.com,但它们的热图是在服务器端生成的。我认为在元素的时代,我们不再需要它了 如果还没有类似的工具,有没有志愿者参与创建这样的工具?我几年前玩过热图。看,算法来自这里:我在谷歌可视化API的帮助下创建了一个命中图[.它使用SVG和VML,并且可以跨浏览器兼容。希望能有所帮助。我有一些js/canvas/web worker代码,尽管有很多工作可以用它来完成。它也在上推送。您的浏览器需要

是否有JavaScript库允许您使用浏览器中的图形呈现功能(如
或SVG)创建热图

我知道HeatMapAPI.com,但它们的热图是在服务器端生成的。我认为在
元素的时代,我们不再需要它了


如果还没有类似的工具,有没有志愿者参与创建这样的工具?

我几年前玩过热图。看,算法来自这里:

我在谷歌可视化API的帮助下创建了一个命中图[.它使用SVG和VML,并且可以跨浏览器兼容。希望能有所帮助。

我有一些js/canvas/web worker代码,尽管有很多工作可以用它来完成。它也在上推送。您的浏览器需要为此支持web workers


如果您对其进行改进,请发送pull请求。伪高斯平滑现在非常慢。

我也尝试过,但我自己没有做高斯平滑,我让canvas为我做。基本上,我为灰度中的每个点绘制一个径向渐变,然后为灰度图像着色(有关详细说明,请参见,我的实现略有不同)

结果如下所示:


(来源:)

在Chrome/Chrome上,渲染时间并没有那么糟糕。我认为最耗时的部分是着色,因为我在每个像素上循环


您可以在这里找到代码:

我创建了一个演示,包括带有
元素和javascript的实时热图。我还在热图示例旁边添加了文档化的代码。热图生成过程基于画布元素中的alpha图,该图取决于用户的鼠标移动。 您可以在这里查看我的演示:
Heatcanvas看起来相当不错。它还有一个传单扩展,可以在openstreetmaps上运行


它在几个点(<200)左右运行得很好,但在数千个点上运行得有点慢。我认为在平移和缩放之后,它可能会比需要的更频繁地重新计算,而且我在动态更改热图时遇到了一些问题(使用javascript将热图替换为另一个热图),我想我需要对它进行更多的实验,或者联系作者

IE 8及以下版本没有画布支持。是的,但感谢Explorer canvas(ExCanvas),IE对画布标记True有部分支持,但这是一种简单的快速修复方法。好吧,你可以随时为浏览器提供老式的服务器端生成的热图(rip IE7及以下版本,我指的是手机等)你可以随时将Adobe SVG viewer插件添加到IE中查看它所讨论的是热图,而不是树形图:)hopps:-)对我来说也一样:-)你能分享你使用的可视化吗?我在可视化图库中没有看到热图()我想做的是在谷歌地图上放置一个热图。我知道我可以使用这个:,但GHeat不使用(它使用服务器端生成的PNG)。感谢这个演示,非常有用+1Hey Patrick。是否可以更新heatmap.js以在单独的线程中工作(使用web workers),因此,如果要绘制大量数据,您只需告诉工作人员计算屏幕外画布,并在绘制完成后将画布发送给您?嘿,Cristy。不幸的是,由于与画布元素的紧密耦合,这是不可能的,web工作人员不支持画布。如果您希望显示更多数据点,我有个好消息:我是最新的我们正在开发heatmap.js v2,并进行了一些主要的性能优化。在v2中,您可以可视化至少20k个数据点,而不会发现任何性能损失。heatmap.js的源代码可在GitHub上获得:(麻省理工许可证)