【问题标题】:How to only show important node's name on the networkx graph?如何在networkx图上只显示重要节点的名称?
【发布时间】:2019-03-24 03:12:51
【问题描述】:

图表看起来很乱,几乎认不出任何东西。 我只希望它显示具有高中心性的节点的名称, 但我不知道怎么做。我现在只能显示所有的名字。

Graph:the result of the following codes

G_D=nx.Graph() G_D.add_edges_from(G5.edges(data=True))

nx.draw(G_D,nx.spring_layout(G_D),node_size=[v * 10 for v in df.iloc[:,0]],with_labels= True)

【问题讨论】:

    标签: python label networkx


    【解决方案1】:

    nx.draw 有一个参数labels,结合with_labels=True 可以只绘制你想要的标签,只画你想要的。

    labels (dictionary, optional (default=None)) – 节点标签 以文本标签节点为键的字典

    例如,您可以选择节点 'label' 参数并为具有 3 个或更多邻居的节点绘制标签:

    labels = {
        n: (G.nodes[n]['label']
            if len(list(nx.all_neighbors(G, n))) > 2
            else '')
        for n in G.nodes
    }
    nx.draw(G, with_labels=True, labels=labels)
    

    附:我不推荐使用基本的networkx绘图功能。有很多强大的可视化库比 networkx 更好。即使in networkx docs 你也可以找到相同的意见。可以使用GephiGraphviz(带有各种库)或Cytoscape 来绘制非常大的图表。

    【讨论】:

      猜你喜欢
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      相关资源
      最近更新 更多