编程语言
首页 > 编程语言> > python学习(32)---networkx

python学习(32)---networkx

作者:互联网

一、networkx介绍

NetworkX提供图形(或网络)的数据结构以及图形算法,生成器和绘图工具。

函数,方法和变量名是lower_case_underscore(小写,下划线表示单词之间的空格)。

 

二、基础

1、导入模块

import networkx as nx

2、图/网络

图的类型

所有图类均允许任何哈希对象作为节点。可哈希对象包括字符串,元组,整数等。如权重和标签之类的任意边属性都可以与边相关联。

   G = nx.Graph()#创建空的网络图
   G = nx.DiGraph()
   G = nx.MultiGraph()
   G = nx.MultiDiGraph()

图的创建:(三种方式)

  1. 图生成器,如例如binomial_graph和powerlaw_graph
  2. 从文本源中加载数据,如nx.read_adjlist
  3. 自主创建空图并添加点和边

 

3、节点和边

#添加点
G.add_node('a')#添加点a
G.add_node(1,1)#用坐标来添加点
G.add_node(math.cos) # any hashable can be a node

#添加边
G.add_edge('x','y')#添加边,起点为x,终点为y,默认边值为1
G.add_edge(1,3,weight=0.9) #添加边,起点为1,终点为2,权重值为0.9
G.add_edge('y','x',function=math.cos) #Edge attributes can be anything
G.add_weight_edges_from([('x','y',1.0)])#第三个输入量为权值
#也可以
list = [[('a','b',5.0),('b','c',3.0),('a','c',1.0)]
G.add_weight_edges_from([(list)])

 

4、图形的显示

需要导入matplotlib
import matplotlib.pyplot as plt

nx.draw(G)
#nx.draw_networkx(G)

plt.show()

#若想让图形更精美
nx.draw(G,pos = nx.random_layout(G),node_color = 'b',edge_color = 'r',with_labels = True,font_size =18,node_size =20)

pos 指的是布局 主要有spring_layout , random_layout,circle_layout,shell_layout。node_color指节点颜色,有rbykw ,同理edge_color.
with_labels指节点是否显示名字,size表示大小,font_color表示字的颜色。

 

标签:node,layout,python,32,nx,color,add,networkx,节点
来源: https://www.cnblogs.com/Lee-yl/p/12684966.html