简体   繁体   English

NetworkX:工程图

[英]NetworkX: Drawing Graph

I am trying to draw a graph using NetworkX in Python. 我正在尝试在Python中使用NetworkX绘制图形。 I am using the following code: 我正在使用以下代码:

G=nx.to_networkx_graph(adj)
pos=nx.spring_layout(G)

#G=nx.path_graph(8)
nx.draw(G,pos,labels)
plt.savefig("simple_path.png") # save as png
plt.show() # display

I get this output: 我得到以下输出:

忙碌的猫

But I want to get the following output with Labels: 但是我想用Labels获得以下输出:

忙碌的猫

What can I do on the code? 我可以对代码做什么? thank you. 谢谢。

So for the positioning, you've set pos based on spring_layout . 因此,对于定位,您已经基于spring_layout设置了pos pos gives the positions of your nodes. pos给出节点的位置。 Check it out - once you've defined it, ask python to print pos for you and see what it's doing. 签出-定义好后,请python为您打印pos并查看其功能。

Here's an alternative code: 这是替代代码:

import networkx as nx
import pylab as py
blue_edges = [('B', 'C'), ('B', 'D'), ('B', 'E'), ('E', 'F')]
red_edges = [('A', 'B'), ('A', 'C'), ('C', 'E'), ('D', 'E'), ('D', 'F')]

G=nx.Graph() #define G
G.add_edges_from(blue_edges)
G.add_edges_from(red_edges)

pos = {'A':(0,0), 'B':(1,1), 'C':(1,-1), 'D':(2,1), 'E':(2,-1), 'F':(3,0)}

nx.draw_networkx(G, pos=pos, edgelist = [], node_color = 'k')
nx.draw_networkx(G, pos=pos, nodelist = [], edgelist = blue_edges, edge_color = 'b')
nx.draw_networkx(G, pos=pos, nodelist = [], edgelist = red_edges, edge_color = 'r')

在此处输入图片说明

and if you want it without the x and y axes showing, change the last bit to: 如果您希望它不显示x和y轴,请将最后一位更改为:

nx.draw(G, pos=pos, edgelist = [], node_color = 'k')
nx.draw(G, pos=pos, nodelist = [], edgelist = blue_edges, edge_color = 'b')
nx.draw(G, pos=pos, nodelist = [], edgelist = red_edges, edge_color = 'r')

在此处输入图片说明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM