【问题标题】:Converting networkx graph to Gephi将networkx图转换为Gephi
【发布时间】:2021-12-29 15:15:10
【问题描述】:

我正在尝试将 Python networkx 图形转换为 Gephi 兼容文件。但是,我遇到了一些我不知道如何解决的问题:

问题

  1. 我们如何将节点特征向量合并到 gexf 文件中?我不断收到错误消息:“TypeError:不允许使用属性值类型:”。如果我删除下面的节点功能代码,那么它可以工作,但理想情况下我想包含节点功能。

  2. 当我将 .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:属性值类型不允许:

任何帮助将不胜感激。

【问题讨论】:

    标签: python networkx gephi


    【解决方案1】:

    目前似乎没有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 图转换为 gexf。但是,您知道是什么导致了当我将图表加载到 Gephi 时没有显示的问题吗?也就是我打开Gephi,点击打开-->从我的下载中选择.gexf文件-->应用右上角显示了我们在上面例子中定义的节点和边的数量,但是然后没有可视化出现...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 2014-08-14
    相关资源
    最近更新 更多