在networkx

时间:2018-08-18 20:56:15

标签: python matplotlib networkx

我想在具有283个节点和标签的networkx中绘制图形。我不知道是否有可能这样做,但是我尝试使用以下代码:

def graph(list_edges,i):
    plt.figure(dpi=3000)    
    plt.tight_layout()
    plt.title('Siatka nr {}'.format(i))
    edges=list_edges
    G=nx.Graph()
    G.add_edges_from(edges)
    pos = nx.spring_layout(G)
    nx.draw(G,pos,edge_color='black',width=1,linewidths=1,\
        node_size=5,node_color='pink',alpha=0.9,\
        #labels={node:node for node in G.nodes()},\
        font_size=3)
    plt.savefig("plot__tr__{}.png".format(i), dpi=3000)

graph(edges,0)

我尝试过使用dpi,但我没有帮助。 加上注释掉的标签,我得到:enter image description here

是否可以通过某种方式强制更好地分配节点并在一张图像上添加标签并保持可读性?或者,也许有一个选项可以将整个图像分为多个部分(这对我的情况也很有帮助)?

1 个答案:

答案 0 :(得分:0)

但是,我不确定如何按部分绘制整个图像或如何更好地分配节点。如果要向节点添加标签,这应该可以解决您的问题: -绘制网络时,添加with_labels=True作为参数。希望这可以帮助。

例如

nx.draw(G, with_labels=True)