使用JIT显示非常大的图形

时间:2011-04-20 19:12:36

标签: javascript graph jit

我想在网页中向用户显示单向图。我目前正在使用JavaScript InfoVis Toolkit (JIT)作为可视化库。

问题是图表有许多节点和边缘,浏览器无法跟上所有节点和边缘的速度。以下是图表的截图:

Screenshot of the graph with many nodes

我认为如果部分显示图表,问题就会解决。因此,当用户点击节点时,应该展开节点及其周围的节点(显示),并且应折叠(隐藏)某些远节点以防止出现性能问题。

基于这个想法,我编写了一个简单的代码,用于扩展节点,并在用户点击它并折叠前一个居中节点时将其置于中心位置。它不是一种非常有效和明智的方式来显示节点,无论如何它都不起作用。它只是折叠了所有节点,无法扩展当前单击的节点。

以下是代码:

onClick: function(node,eventInfo,e) {
    if(node==false) 
    {
        return;
    }

    if(rgraph.previousexpand!=false)
    {
        if(rgraph.previousexpand.id!=node.id)
        {
            rgraph.op.contract(rgraph.previousexpand, {  
                type: 'animate',  
                duration: 3000,  
                hideLabels: true,  
                transition: $jit.Trans.Quart.easeOut  
            });                 
        }
    }

    rgraph.previousexpand = node;
    rgraph.op.expand(rgraph.previousexpand, {  
       type: 'animate',  
       duration: 3000,  
       hideLabels: true,  
       transition: $jit.Trans.Quart.easeOut  
    }); 

    rgraph.onClick(node.id);
}

在初始化中:

rgraph.previousexpand=false;

首先,你知道有什么更好的方式来展示一个非常大的图表吗? JIT中是否有其他解决方案或其他库以这种方式显示图形?

其次,我在代码中缺少什么?

0 个答案:

没有答案