Python:根据数据绘制网络图

插头4

我有以下数据集:

firm_id_1 firm_id_2
1         2
1         4
1         5
2         1
2         3
3         2
3         6
4         1
4         5
4         6
5         4
5         7
6         3 ....

我想画图的网络firm_id = 1换句话说,我想看到一个图表,该图表显示firm_id = 1直接通过公司2连接到2、4、5,并通过公司2间接连接到3,通过公司4连接到6,通过公司5间接连接到7。我绘制了从开始到每个节点(firm_id)的最短距离firm_id=1我的数据中有3000个节点,我知道公司1到达少于9个顶点的所有节点。如何在Python中绘制图形?

mdadm

我将从一个名为NetworkX的库开始我不确定我是否了解您要查找的所有内容,但是我认为这应该足够接近,您可以对其进行修改。

该程序将从文本文件graphdata.txt中加载数据,并用空格分隔,然后将其作为边缘添加。

然后它将计算从1开始到所有节点的最短路径,如果距离大于9,则进行打印。有关更多详细信息,请参阅文档

最后,它将使用弹性布局将图形呈现到名为mynetwork.png的文件并呈现到屏幕。

3000个节点可能需要/可能不需要某些优化。

希望这可以帮助!

import networkx as nx
import matplotlib.pyplot as plt

graph = nx.Graph()
with open('graphdata.txt') as f:
    for line in f:
        firm_id_1, firm_id_2 = line.split()
        graph.add_edge(firm_id_1, firm_id_2)

paths_from_1 = nx.shortest_path(graph, "1")
for path in paths_from_1:
    if len(paths_from_1[node]) > 9:
        print "Shortest path from 1 to", node, "is longer than 9"


pos = nx.spring_layout(graph, iterations=200)
nx.draw(graph, pos)
plt.savefig("mynetwork.png")
plt.show()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CytoscapeJS网络图-未绘制边缘

来自分类Dev

XML javascript绘制网络图

来自分类Dev

从数据框生成网络图

来自分类Dev

通过网络图绘制样本图像

来自分类Dev

阴影图/网络图?

来自分类Dev

从数据集构建 R 中的有向网络图

来自分类Dev

如何在python的网络图图中添加简单的“ colorbar”?

来自分类Dev

单击Bokeh中的彩色网络图节点线,Python

来自分类Dev

创建网络图

来自分类Dev

VISJS网络图-Ajax

来自分类Dev

优化网络图的创建

来自分类Dev

网格排列网络图

来自分类Dev

创建网络图

来自分类Dev

从对象数组创建网络图

来自分类Dev

两个网络图的比较

来自分类Dev

使用ggplot的空间网络图

来自分类Dev

Highcharts网络图箭头链接

来自分类Dev

R中的相关网络图

来自分类Dev

带有 Plotly 的网络图

来自分类Dev

社交网络图数据库和个人资料信息

来自分类Dev

可视化使用pandas数据框创建的双向网络图

来自分类Dev

从网络图有效创建邻接矩阵(反之亦然)Python NetworkX

来自分类Dev

网络图和网络拓扑之间的区别?

来自分类Dev

Highchart 网络图和面积图冲突

来自分类Dev

根据数据框Python中两列的条件在matplotlib中绘制多个图?

来自分类Dev

动画化网络图以显示算法的进度

来自分类Dev

了解Matlab模式识别神经网络图

来自分类Dev

向网络图添加图例以说明节点的着色

来自分类Dev

网络图D3。不同长度