- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建网络图并从中生成稀疏矩阵。来自维基百科Laplacian matrix
例如,我决定尝试使用 networkx
重新创建以下网络图
如何有效地在 adjacency matrix
之间转换和一个 network graph
?
例如,如果我有一个网络图,我如何快速将其转换为邻接矩阵,如果我有一个邻接图,我如何有效地将其转换为网络图。
下面是我的代码,我觉得它对于大型网络来说效率很低。
#!/usr/bin/python
import networkx as nx
import numpy as np
import matplotlib.pyplot as plt
import scipy as sp
import pandas as pd
%matplotlib inline
#Adjacent matrix
adj_matrix = np.matrix([[0,1,0,0,1,0],[1,0,1,0,1,0],[0,1,0,1,0,0],[0,0,1,0,1,1],[1,1,0,1,0,0],[0,0,0,1,0,0]])
adj_sparse = sp.sparse.coo_matrix(adj_matrix, dtype=np.int8)
labels = range(1,7)
DF_adj = pd.DataFrame(adj_sparse.toarray(),index=labels,columns=labels)
print DF_adj
# 1 2 3 4 5 6
#1 0 1 0 0 1 0
#2 1 0 1 0 1 0
#3 0 1 0 1 0 0
#4 0 0 1 0 1 1
#5 1 1 0 1 0 0
#6 0 0 0 1 0 0
#Network graph
G = nx.Graph()
G.add_nodes_from(labels)
#Connect nodes
for i in range(DF_adj.shape[0]):
col_label = DF_adj.columns[i]
for j in range(DF_adj.shape[1]):
row_label = DF_adj.index[j]
node = DF_adj.iloc[i,j]
if node == 1:
G.add_edge(col_label,row_label)
#Draw graph
nx.draw(G,with_labels = True)
#DRAWN GRAPH MATCHES THE GRAPH FROM WIKI
#Recreate adjacency matrix
DF_re = pd.DataFrame(np.zeros([len(G.nodes()),len(G.nodes())]),index=G.nodes(),columns=G.nodes())
for col_label,row_label in G.edges():
DF_re.loc[col_label,row_label] = 1
DF_re.loc[row_label,col_label] = 1
print G.edges()
#[(1, 2), (1, 5), (2, 3), (2, 5), (3, 4), (4, 5), (4, 6)]
print DF_re
# 1 2 3 4 5 6
#1 0 1 0 0 1 0
#2 1 0 1 0 1 0
#3 0 1 0 1 0 0
#4 0 0 1 0 1 1
#5 1 1 0 1 0 0
#6 0 0 0 1 0 0
最佳答案
如何从图转换为邻接矩阵:
import scipy as sp
import networkx as nx
G=nx.fast_gnp_random_graph(100,0.04)
adj_matrix = nx.adjacency_matrix(G)
H=nx.Graph(adj_matrix) #if it's directed, use H=nx.DiGraph(adj_matrix)
关于python - 从网络图中有效地创建邻接矩阵(反之亦然)Python NetworkX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33773187/
我以前从未使用过 D3.js,但很快就爱上了示例。我要制作一个代表系统/服务器和公司项目的图表。该图将用作系统通信和集成状态的报告。我们希望用户能够轻松直观地了解系统如何通信、通信的内容,并能够单击“
是否有任何开源项目或 jQuery 插件可以用来重新创建 GitHub Network Graph? 我想创建具有类似功能的东西。 最佳答案 Github WebView 一开始似乎很难进行逆向工程。
这里我正在使用 D3 网络图表,在我的 fiddle 中,您可以看到箭头指向目标节点(右侧),请参见下面的屏幕截图: 但我需要的是相反的,如下所示: 有人知道我怎样才能做到这一点吗? 这是我的代码:
我正在使用 highcharts 为我的一个 Angular 项目创建网络图。我想在鼠标移动到点/节点时创建工具提示。我尝试使用下面的图表选项进行创建。但是,我收到错误。如何为网络图点创建工具提示?
我正在使用 highchart 创建网络图。我需要更改工具提示值。但它不起作用。 请检查我的代码 var json = [{ "key": "1", "value": "19122",
场景:客户位于带有搜索栏的页面上,他们输入查询。该查询被传递到服务器使用 php 动态生成的第二个页面。除了提供给 php 脚本的查询信息之外,还会传递一个变量,该变量允许 php 脚本确定 Flas
我正在使用以下代码生成交互式 Bokeh 网络图。如何将节点名称添加到 Bokeh 图中的节点? from bokeh.io import show, output_notebook from bok
我正在应用@nvie 在他的 article 中描述的分支模型.一次改变;我使用一个 staging 分支,在它们被 merge 到 master 之前,我在其中测试和构建预发布。 所以我有 deve
我正在尝试修改 Mike 的 Force-Directed Graph使用矩形而不是圆形作为节点的示例。另外,我想要矩形内有文本。 我有正确显示文本的矩形,但是它们没有附加到链接,并且它们不会移动。
我有一个包含大约 850 万个数据点的文本文件,格式如下: Company 87178481 Company 893489 Company 2345788 [...] 我想用Python创建一个连接图
我刚刚发现了 GephiStreamer。 https://pypi.python.org/pypi/GephiStreamer 使用这个包可以将指令从 python 发送到 Gephi 以在 Gep
我是 D3 和 Javascript 的新手,但通常很幸运,只需复制基本的 D3 脚本并将我的数据转换为正确的格式,以便可视化工作。我已经尝试了几个 D3 网络图,当我检查页面时,所有这些图都出现了相
我很难理解 D3 的工作原理。我只想使用纯 DIV(包含格式化文本)作为节点来获得一个简单的网络图(没有动画或“强制”效果)。节点不使用 SVG。 例如,DIV 是: One Two Three Fo
我刚刚在这里问了一个问题:previous question Tun/tap 设备会避免安装 netmap/pf_ring/dpdk 吗?如果 tun/tap 允许绕过内核,那不是一回事吗? 或者那些
我是一名优秀的程序员,十分优秀!