我希望每个节点都有一个ipaddress字符串,纬度和经度值.另外,如何在查找networkx创建的图形时获取指向此类对象的指针?
NetworkX基于图形可以像字典一样运行的想法.您不需要自定义对象充当节点,因为节点可以将任意属性添加到其"词典"中.
考虑以下交互式会话:
>>> import networkx as nx
>>> G = nx.Graph()
>>> G.add_node(1)
>>> G.node[1]['ipaddress'] = '8.8.8.8'
>>> G.node[1]['longitude'] = 37
>>> G.node[1]['latitude'] = 50
>>> G.node[1]
{'latitude': 50, 'ipaddress': '8.8.8.8', 'longitude': 37}
>>> G.node[1]['ipaddress']
'8.8.8.8'
在这里,与单个节点的曲线图1被创建,向其中ipaddress,longitude,和latitude相关联.您可以通过询问节点的图表,以恒定的时间直接访问该节点,并以相同的方式获取其属性.
要引用特定节点,您有几种可能性.例如,您可以使用字典来存储任何所需属性的列表或节点集.第二种可能性 - 仅对每个节点唯一的单个属性有用 - 是直接将该属性用作节点.例如,对于IP地址:
>>> H = nx.Graph()
>>> H.add_node('8.8.8.8', longitude=37, latitude=50)
>>> H.node['8.8.8.8']
{'latitude': 50, 'longitude': 37}
在这里,我还利用了NetworkX提供的便利,在创建节点时指定属性.
| 归档时间: | 
 | 
| 查看次数: | 1539 次 | 
| 最近记录: |