NetworksX 图 使用

1.有向图

#-*- coding:utf8-*-
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
G.add_node(1)
G.add_node(2)
G.add_nodes_from([3,4,5,6])
nx.add_cycle(G,[1,2,3,4])
G.add_edge(1,3)
G.add_edges_from([(3,5),(3,6),(6,7)])
nx.draw(G)
plt.savefig("youxiangtu.png")
plt.show()
image.png

2.无向图

#-*- coding:utf8-*-
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_node(1)
G.add_node(2)
G.add_nodes_from([3,4,5,6])
nx.add_cycle(G,[1,2,3,4])
G.add_edge(1,3)
G.add_edges_from([(3,5),(3,6),(6,7)])
nx.draw(G)
plt.savefig("wuxiangtu.png")
plt.show()
image.png

3.节点颜色图

#-*- coding:utf8-*-
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edges_from([(1,2),(1,3),(1,4),(1,5),(4,5),(4,6),(5,6)])
pos = nx.spring_layout(G)
colors = [1,2,3,4,5,6]
nx.draw_networkx_nodes(G,pos,node_color=colors)
nx.draw_networkx_edges(G,pos)
plt.axis('off')
plt.savefig("color_nodes.png")
plt.show()
image.png

计算:
计算1:求无向图的任意两点间的最短路径

#-*- coding:utf8-*-
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()

G.add_edges_from([(1,2),(1,3),(1,4),(1,5),(4,5),(4,6),(5,6)])

path = nx.all_pairs_shortest_path(G)

print (list(path)[0]) # 1 到各个几点的最短路径。(list(path)[1]) 2到各个节点的最短路劲 

结果

PS D:\project\pyscripts\graph> python .\gg.py
(1, {1: [1], 2: [1, 2], 3: [1, 3], 4: [1, 4], 5: [1, 5], 6: [1, 4, 6]})

计算2:求出有向图中得环

#-*- coding:utf8-*-
#-*- coding:utf8-*-
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
G.add_edges_from([(1,2),(2,3),(3,2),(3,4),(4,2),(2,5),(5,6),(5,'a'),('a','b'),('b',5)])
path = nx.simple_cycles(G) #找出有向环
print(list(path))
nx.draw_networkx(G,pos=nx.spring_layout(G))
plt.show()

结果:

PS D:\project\pyscripts\graph> python .\gg.py
[[2, 3, 4], [2, 3], ['b', 5, 'a']]
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 图的定义和基本术语 线性结构中,元素仅有线性关系,每个元素只有一个直接前驱和直接后继;树形结构中,数据元素(...
    yinxmm阅读 10,826评论 0 3
  • https://zh.visualgo.net/graphds 浅谈图形结构https://zh.visualgo...
    狼之独步阅读 9,715评论 0 0
  • 数据结构回顾 图(Graph) ◼图由顶点(vertex)和边(edge)组成,通常表示为 G = (V, E)...
    AlanGe阅读 3,051评论 0 0
  • 图的基本概念 图由结点的有穷集合V和边的集合E组成。图中常常将结点成为顶点,边是顶点的有序偶对。若两个顶点之间存在...
    桔子满地阅读 5,259评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,726评论 28 53