微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dash Cytoscape 与大型数据集斗争

如何解决Dash Cytoscape 与大型数据集斗争

我正在尝试使用 Cytoscape 实现的大小为 ~500x500 的邻接矩阵在 Dash 上可视化网络。我正在将矩阵转换为库使用的专有输入列表样式。我在邻接矩阵的字典表示中这样做的代码如下:

def makeElementsList(inlist = networkvis.makeNetworkList()):
    elsList = []
    for i in inlist:
        elsList.append({'data' : {'id' : str(i),'label' : str(i)}}) 
    for i,j in list(networkvis.makeAdjMatrix(inlist).items()):
        for k,l in list(j.items()):
            if l != 0:
                elsList.append({'data' : {'source' : str(i),'target' : str(k)}})
    return elsList

app = dash.Dash(__name__)
# instantiate Dash object
app.layout = html.Div([
    cyto.Cytoscape(
        id='cytoscape_tweet_network',layout={'name': 'circle'},style={'width': '100%','height': '1000px'},# elements=networkvis.makeNetworkList()[:10]
        elements= makeElementsList()
    )
])

当我将矩阵的大小减小到 10x10 时,我能够启动并运行我的网页,但是当我将大小调大时,页面需要很长时间才能加载,最终看起来像一个巨大的 blob没有什么。它也根本不是交互式的。不确定这是否是我选择的某些参数的问题,或者数据集是否太大以至于库无法处理,但如果 Cytoscape 无法处理 500 个节点,我会感到非常惊讶。值得补充的是,我对这个问题的最初反应之一是尝试将页面托管在比我的机器更强大的服务器上。没有结果,所以我认为这不是带宽问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。