【问题标题】:Visualize network above a world map [closed]在世界地图上方可视化网络[关闭]
【发布时间】:2014-04-27 19:23:44
【问题描述】:

嗯,我在 NodeXL 中有一个网络数据集,我正在尝试在世界地图上对其进行可视化。我的数据集有

  • 具有国家属性的节点
  • 链接。节点之间的未加权连接

我尝试使用 NodeXL 并导出文件并导入 Gephi。但是,我找不到基于节点属性在世界地图上可视化它的方法。

另外,我知道 D3.js,但我在地图上找不到任何有关网络的示例或教程。

能否请您提供 NodeXL、Gephi、D3.js 或任何其他库中的示例来执行此操作。

想象一下这样的结果:

【问题讨论】:

  • 参见例如this example.
  • @LarsKotthoff 本站页面源代码只有D3.js?我是否还需要其他任何东西,或者如果我将这段代码放入我的数据中,我会没事的吗?
  • 整个代码在github。如果您想在不修改的情况下使用它,您可能需要调整数据格式。
  • @LarsKotthoff:由于该数据以美国为中心,如果地图太长,它可能会更具可读性......

标签: dictionary graph visualization


【解决方案1】:

在 Gephi 中,您可以使用基于地图的布局来根据节点位置可视化您的网络。您需要有两个属性包含节点的地理编码坐标:纬度和经度。有两个插件可以用于可视化(Gephi 默认都没有,你必须从工具 -> 插件安装它们):

  • GeoLayout - 当你应用那个时,你必须指定记录经度和纬度的属性的名称并选择一个投影(例如墨卡托)。您的节点将被相应地布置。
  • Map of countries - 这是一个插件,显示(相当粗略 - 不太详细)轮廓图作为您网络的背景。

您可以按顺序使用两者 - 虽然坦率地说,我在使用 GeoLayout 方面取得了更大的成功,将结果导出为矢量图形,并将其覆盖在地图图像的顶部。如果您的网络很大并且很好地分布在地理区域中,您甚至不需要将其覆盖在地图上 - 它已经看起来像一个。例如,在您在上面发布的 Facebook 可视化中,大陆的轮廓仅根据节点/用户集中的位置出现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 2011-08-31
    • 2018-09-02
    • 2019-09-11
    • 2016-01-22
    • 1970-01-01
    相关资源
    最近更新 更多