我需要在基于web的应用程序中显示一个大矩阵。矩阵尺寸约为1000*1000,每个单元格要么已填充,要么未填充。
基本上,它应该是这样的(大得多,没有颜色):http://mbostock.github.com/protovis/ex/matrix.html
我需要基本的交互,比如缩放和点击一个单元格。该矩阵很可能是稀疏矩阵。
我尝试过Protovis,但如果矩阵大于80*80,渲染将花费很长时间。
哪个Javascript库可能适合此任务?
我会使用HTML5画布进行快速绘制。(这个超级简单的演示只需几秒钟就可以在我的电脑上呈现出来。)如果你想放大,你可以看到这个答案。
为了向用户显示一百万个项目,每个元素可能必须是单个像素的大小。
我只想用一块画布。
您可以尝试JavaScript库clustergrammar.js(请参阅https://github.com/cornhundred/clustergrammer.js)。它使用D3.js进行交互式(可缩放、可重新排序、可过滤等)可视化。它可以处理100000个数据点的数量级,但如果矩阵足够稀疏,则可以渲染大型矩阵。
以下是clustergrammar.js用于可视化6000x230矩阵的示例http://amp.pharm.mssm.edu/clustergrammer/viz/568affd5b6541b84f3a68234