Converting networkx graph to Gephi(将networkx图转换为Gephi)
本文介绍了将networkx图转换为Gephi的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将一个Pythonnetworkx
图形转换为一个与Gephi兼容的文件。然而,我遇到了一些我不知道如何解决的问题:
问题:
如何将节点特征向量合并到gexf文件中?我一直收到错误:";TypeError:不允许属性值类型:<;class‘numpy.ndarray’>;";。如果我删除下面的节点功能代码,则它可以工作,但理想情况下,我希望包括节点功能。
当我将.gexf文件加载到Gephi中时,由于某种原因没有显示任何内容-为什么会发生这种情况?当我删除以下代码的节点功能部分时,我设法获得了一个gexf文件。(应用程序启动后,我可以可视化其他测试数据集,但当我加载下面的文件时,它会在右上角显示节点和边计数器,但实际的图形没有显示出来……我还需要按点别的吗?我看了一些YouTube教程,图表总是为这些人加载)
我知道有很多帖子,但在看了相当多的帖子并尝试了这些解决方案后,我决定发表一篇帖子。
示例代码: 我制作了一些模拟代码来展示我正在做的事情:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import networkx as nx
%matplotlib inline
# Make the networkx graph
G = nx.Graph()
# Add some cars (just do 4 for now)
G.add_nodes_from([
(1, {'y': 0}),
(2, {'y': 1}),
(3, {'y': 2}),
(4, {'y': 3}),
(5, {'y': 4}),
])
# Add some edges --> A = [(0, 1, 0, 1, 1), (1, 0, 1, 1, 0), (0, 1, 0, 0, 1), (1, 1, 0, 0, 0), (1, 0, 1, 0, 0)]
G.add_edges_from([
(1, 2), (1, 4), (1, 5),
(2, 3), (2, 4),
(3, 2), (3, 5),
(4, 1), (4, 2),
(5, 1), (5, 3)
])
# add the price data to the graph as node features
for node in G.nodes():
G.nodes[node]['x'] = np.random.rand(5) * 5
# This code mounts the google drive
from google.colab import drive
drive.mount('/content/drive')
# convert the graph to Gephi
nx.write_gexf(G, '/content/drive/MyDrive/cars_test.gexf', version="1.2draft")
然后我收到错误:";TypeError:不允许属性值类型:<;class‘numpy.ndarray’>;
如有任何帮助,我们将不胜感激。
推荐答案
目前似乎没有numpy
支持,因此一种解决方法是将数据存储为lists
:
# add the price data to the graph as node features
for node in G.nodes():
G.nodes[node]["x"] = {"price": list(np.random.rand(5) * 5)}
请注意,节点属性存储为词典。
这篇关于将networkx图转换为Gephi的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:将networkx图转换为Gephi


猜你喜欢
- python-m http.server 443--使用SSL? 2022-01-01
- 沿轴计算直方图 2022-01-01
- pytorch 中的自适应池是如何工作的? 2022-07-12
- 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
- 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01
- 如何将一个类的函数分成多个文件? 2022-01-01
- python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
- 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01
- 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01
- padding='same' 转换为 PyTorch padding=# 2022-01-01