Python Network(二)绘图draw系列draw(),draw_networkx(),draw_networkx_nodes(),draw_networkx_edges()

本文详细介绍了Python Network的绘图功能,包括nx.draw()、draw_networkx()、draw_networkx_nodes()、draw_networkx_edges()等函数的使用,涵盖了节点和边的布局、颜色、标签等图形选项,并提供了丰富的示例。
摘要由CSDN通过智能技术生成

Python Network(一)

本文主要讲解network最后的绘图功能

总述

绘图 释义
draw(G[, pos, ax, hold]) 用Matplotlib绘制图形G
draw_networkx(G[, pos, with_labels]) 使用Matplotlib绘制图形G
draw_networkx_nodes(G, pos[, nodelist, …]) 绘制图G的节点
draw_networkx_edges(G, pos[, edgelist, …]) 绘制图形G的边缘
draw_networkx_labels(G, pos[, labels, …]) 在图G上绘制节点标签
draw_networkx_edge_labels(G, pos[, …]) 绘制边缘标签
draw_circular(G, **kwargs) 用圆形布局绘制图形G
draw_random(G, **kwargs) 用随机布局绘制图形G
draw_spectral(G, **kwargs) 用频谱布局绘制图形G
draw_spring(G, **kwargs) 用弹簧布局绘制图形G
draw_shell(G, **kwargs) 使用外壳布局绘制networkx图
draw_graphviz(G[, prog]) 使用graphviz布局绘制networkx图

1. nx.draw()

默认情况下,将图形绘制为没有节点标签或边缘标签且使用完整Matplotlib图形区域且无轴标签的简单表示形式。有关允许标题,轴标签等的更多功能齐全的图形,请参见draw_networkx()

draw(G,pos = None,ax = None,hold = None,** kwds )
参数 类型 意义
G 必选 网络图
pos 字典,可选 以节点为键,位置为值的字典。如果未指定,将计算弹簧布局位置。有关计算节点位置的功能,请参见networkx.layout
ax Matplotlib Axes对象,可选 在指定的Matplotlib轴上绘制图形。
hold 布尔,可选 设置Matplotlib保持状态。如果为True,则随后的绘制命令将添加到当前轴。
**kwds 可选关键字 有关可选关键字的描述,请参见networkx.draw_networkx()

1.1 示例

import networkx as nx
# 创建空的网格
G=nx.Graph()
# 添加节点
G.add_node('JFK')
G.add_nodes_from(['SFO','LAX','ATL','FLO','DFW','HNL'])
# G.number_of_nodes()  # 查看节点数,输出结果7

# 添加连线
G.add_edges_from([('JFK','SFO'),('JFK','LAX'),('LAX','ATL'),('FLO','ATL'),('ATL','JFK'),('FLO','JFK'),('DFW','HNL')])
G.add_edges_from([('OKC','DFW'),('OGG','DFW'),('OGG','LAX')])
# 绘制网络图
nx.draw(G,pos=nx.circular_layout(G),with_labels=True)

在这里插入图片描述

1.2 pos参数可选内容

nx.circular_layout(nf)节点在圆环上均匀分布
nx.kamada_kawai_layout(nf) 这个低版本的network好像没有
nx.random_layout(nf)节点随机分布
nx.spectral_layout(nf)根据图的拉普拉斯特征向量排列节点(我也不知道这个是个啥)
nx.spring_layout(nf)用Fruchterman-Reingold算法排列节点(样子类似多中心放射状)
nx.shell_layout(nf)节点在同心圆上分布

2. draw_networkx()

使用Matplotlib绘制图形,并带有节点位置,标签,标题和许多其他图形功能的选项。有关没有标签或轴的简单绘图,请参见draw()

draw_networkx (G,pos = None,with_labels = True** kwds )
参数 类型 意义
G 必选 网络图
pos 字典,可选 以节点为键,位置为值的字典。如果未指定,将计算弹簧布局位置。有关计算节点位置的功能,请参见networkx.layout
ax Matplotlib Axes对象,可选 在指定的Matplotlib轴上绘制图形。
with_labels bool,可选(默认= True) 设置为True以在节点上绘制标签
nodelist 列表,可选(默认G.nodes()) 仅绘制指定的节点
edgelist 列表,可选(默认值= G.edges()) 仅绘制指定的边缘
node_size 标量或数组,可选(默认为300) 节点大小。如果指定了数组,则其长度必须与节点列表的长度相同。
node_color 颜色字符串或浮点数数组,(默认=“ r”) 节点颜色。可以是单个颜色格式字符串,也可以是长度与节点列表相同的颜色序列。如果指定了数值,则将使用cmap和vmin,vmax参数将它们映射为颜色。有关更多详细信息,请参见matplotlib.scatter。
node_shape 字符串,可选(默认=‘o’) 节点的形状。规范作为matplotlib.scatter标记,是’so ^> v <dph8’之一。
alpha 浮点型,可选(默认= 1.0) 节点透明度
cmap Matplotlib颜色图,可选(默认=无) 用于映射节点强度的颜色图
vmin,vmax 浮动,可选(默认=无) 节点颜色图缩放的最小值和最大值
linewidths [无| 标量| 顺序] 符号边框的线宽(默认= 1.0)
width 浮动,可选(默认= 1.0) 边缘线宽
edge_color 颜色字符串或浮点数数组(默认=‘r’) 边缘颜色。可以是单个颜色格式字符串,也可以是与边列表长度相同的颜色序列。如果指定了数值,则将使用edge_cmap和edge_vmin,edge_vmax参数将它们映射为颜色。
edge_cmap Matplotlib颜色图,可选(默认=无) 用于映射边缘强度的颜色图
edge_vmin,edge_vmax 浮点型,可选(默认=无) 边缘颜色图缩放的最小值和最大值
style 字符串,可选(默认=‘solid’) 边线样式(实线
labels 字典,可选(默认=无) 字典中的节点标签,由文本标签的节点作为键控
font_size int,可选(默认= 12) 文字标签的字体大小
font_color 字符串,可选(默认='k’黑色) 字体颜色字符串
font_weight 字符串,可选(默认=‘正常’) 字型粗细
font_family 字符串,可选(默认=‘sans-serif’) 字体系列
label 字符串,可选 图例的标签

2.1 示例

import networkx as nx
# 创建空的网格
G=nx.Graph()
# 添加节点
G.add_node('JFK')
G.add_nodes_from(['SFO','LAX','ATL','FLO','DFW','HNL'])

# 添加连线
G.add_edges_from([('JFK','SFO'),('JFK','LAX'),('LAX','ATL'),('FLO','ATL'),('ATL','JFK'),('FLO','JFK'),('DFW','HNL')])
G.add_edges_from([('OKC','DFW'),('OGG','DFW'),('OGG','LAX')])

nx.draw_networkx
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值