Networkx画子图

本文介绍了如何使用Networkx库在给定网络G的基础上,绘制其部分节点和边的子图。关键在于调整`nx.draw()`函数的参数,如`nodelist`用于指定要显示的节点集合,`edgelist`用于指定要绘制的边集合。同时,可以设置`node_size`和`width`来改变节点大小和边的粗细。需要注意的是,`nodelist`的优先级高于`edgelist`,如果`edgelist`中的边连接了不在`nodelist`中的节点,该边只会显示一个端点。举例说明了如何显示节点'01'和边('01', '02')。" 108868716,8545052,JavaScript深度与浅克隆:JSON方法解析,"['JavaScript', '克隆技术', 'JSON方法', 'ES6特性']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在输入一个网络G的相关的边点以及其对应的性质,想画其中部分的边点,只需调整nx.draw()里面的nodelist以及edgelist参数: nodelist = 子图的顶点集的list, edgelist = 子图边的list。如果想调整子图中顶点的大小以及边的粗细,请注意修改对应的node_size和width参数(主要是要两者list的长度和边数和点数对应)。

nodelist的优先级高于edgelist,就是说如果edgelist包含边有不在nodelist的点存在,则会出现对应边只有一个顶点的情况。例子如下

原图:

import matplotlib.pyplot as plt 
import networkx as nx

G = nx.Graph()
G.add_nodes_from([("01", {'size': 100}), ("02", {'size': 200}), ("03", {'size': 300})])
G.add_weighted_edges_from([('01','02',0.8), ('02','03',0.9), ('01','03',0.5)])
node_i = [v for v in G.nodes()]
nodeSize = [G.nodes[i]['size'] for i in node_i]
edge_i = [v for v in G.edges()]
edgeWeig = [G.edges[i]['weight'] for i in edge_i]

nx.draw(G, with_labels=True, font_weight='bold', node_size = nodeSiz
### 绘制Active Directory的方法 在处理Active Directory (AD) 绘制的需求时,通常涉及的是形化展示AD结构或者特定查询结果。这可以通过多种工具和技术来完成。 对于编程方式实现这一目标,可以考虑使用Python结合`pyvis`或`networkx`库来进行网络图表的创建和渲染[^1]。这些库能够帮助构建节点链接,其中每个节点代表一个AD对象(如用户、计算机),边则表示它们之间的关系。 如果希望更深入地集成到企业级应用中,则可能需要用到微软提供的Graph API或其他第三方API接口访问AD信息并将其可视化。这类方法允许开发者获取详细的目录服务数据,并按照需求定制视逻辑[^2]。 另外,在某些情况下,也可以利用现成的企业管理软件包,比如SolarWinds、ManageEngine等产品内置的功能直接生成所需的AD拓扑或报表。此类方案适合那些不打算自行开发解决方案的企业环境[^3]。 ```python import networkx as nx from pyvis.network import Network # 创建NetworkX无向实例 G = nx.Graph() # 添加节点与边(此处仅为示例) ad_objects = ['UserA', 'ComputerB'] for obj in ad_objects: G.add_node(obj) edges_between_objects = [('UserA', 'ComputerB')] for edge in edges_between_objects: G.add_edge(*edge) # 使用PyVis进行可视化设置 net = Network(notebook=True) net.from_nx(G) net.show("example.html") # 将绘制成HTML文件打开查看 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值