Q
使用网络添加边缘
0
A
回答
3
假设通过“添加大量的边缘在一起”你的意思是“将它们添加到图”,从help(networkx.Graph)
:
| **Edges:**
|
| G can also be grown by adding edges.
|
| Add one edge,
|
| >>> G.add_edge(1, 2)
|
| a list of edges,
|
| >>> G.add_edges_from([(1,2),(1,3)])
所以:
>>> import networkx as nx
>>> g = nx.Graph()
>>> g.add_edges_from([(0,4),(1,2),(2,3)])
>>> g
<networkx.classes.graph.Graph object at 0x1004b58d0>
>>> g.edges()
[(0, 4), (1, 2), (2, 3)]
我肯定会推荐养成阅读交互式文档的习惯。我使用的是IPython
,所以我只需要快速查看可用的方法即可制作图形g
,然后键入g.[TAB]
。这提出了一个清单,g.add_edges_from
是#3。
OTOH,如果你只是想添加边的两个列表放在一起,你也可以这样做:
>>> g0.edges() + g1.edges()
[(1, 2), (2, 3), (3, 4), (1, 2), (2, 3), (3, 4), (5, 6)]
>>> set(g0.edges() + g1.edges())
set([(1, 2), (3, 4), (5, 6), (2, 3)])
0
通常的图形数据存储在一个文件,这使得它很容易与熊猫据帧阅读。例如,考虑构建一个seventh grader network的图。我们可以初始化我们的图形如下:
import pandas as pd
import networkx as nx
#read the edge list
edges = pd.read_csv('./data/moreno_seventh/out.moreno_seventh_seventh', skiprows=2, sep = " ", header=None)
edges.columns = ['student1', 'student2', 'count']
#read node metadata
meta =pd.read_csv('./data/moreno_seventh/ent.moreno_seventh_seventh.student.gender', header=None)
meta.index += 1
meta.columns = ['gender']
#construct the graph
G = nx.DiGraph()
for row in edges.iterrows():
G.add_edge(row[1]['student1'], row[1]['student2'], count=row[1]['count'])
#add meta data
for i in G.nodes():
G.node[i]['gender'] = meta.ix[i]['gender']
相关问题
- 1. 网络边缘长度x
- 2. 添加边缘权重以绘制网络中的输出x
- 3. Networkx:如何添加随机边缘网络
- 4. 在网络中添加和删除一个随机边缘
- 5. 试图添加边缘和节点到图形使用网络x
- 6. 根据边缘属性添加多个边缘使用igraph
- 7. 使用Cytoscape.js添加边缘标签
- 8. R中绘制网络(控制边缘厚度加上非重叠边缘)
- 9. CytoscapeJS网络图 - 边缘没有绘制
- 10. Python网络x:边缘收缩
- 11. python:在生物网络上使用networkX进行定向边缘
- 12. 使用R中的网络包设置边缘值
- 13. 使用visNetwork在网络边缘显示信息
- 14. 使用网络从图表中删除边缘
- 15. Fitgrid - 在列的边缘添加边框
- 16. 通过在网络中的相同项目之间添加边缘来连接网络
- 17. Swift:创建边缘按钮和添加文本边缘
- 18. 边缘叠加
- 19. 应用特定的css在细胞景观边缘句柄中添加边缘
- 20. 使用XSLT 2.0添加图形边缘/引用
- 21. 使用CSS在网页的“边缘”添加摩天大楼图像
- 22. 为GCE添加边缘缓存
- 23. 在边缘内添加背景图片
- 24. React Relay:向边缘添加数据
- 25. 向自定义边缘添加颜色
- 26. 添加边缘折叠以COSE布局
- 27. 在GraphSharp边缘添加标签
- 28. 在Seaborn JointGrid中为边缘添加yticks
- 29. 将权重添加到MultiDiGraph边缘
- 30. 添加边缘标签Titan-Rexster
让我解释一下我的困境,我有这样的 列表= [1.1,1.2,1.3,1.4,1.5], [2.1,2.2的列表, 2.3,3.4,2.5], [3.1,3.2,3.3,3.4,3.5], [4.1,4.2,4.3,4.4,4.5], [5.1,5.2,5.3,5.4,5.5]] 并且如果我想创建边缘,如1.1 - 1.2 - 1.3 .. 2.1 - 2.2 - ..等等 什么是使用现有列表的最好方法。 –
请编辑一个较小且完整的示例 - 包含您想要的每一条边 - 进入您的主要问题。我无法从你的例子中得知1.5是否有优势。 – DSM
我已经发布了这个链接的问题。谢谢很多帮助:) http://stackoverflow.com/questions/12143178/list-conversion –