小网络叠加大网络

Super position of small network over big network

我正在 PPI 网络上工作,我正在使用 Gephi 和 rgexf 包来绘制网络图。在我的网络中有 9453 没有。顶点和 36888 个连接。所以,当在 gephi 上绘制网络时,我们无法分析任何东西,所以我只绘制前 50 个节点的网络。现在我想在前 100 个节点网络中突出显示 50 个节点的网络。这里的top表示度数最高的节点。那么有什么办法吗?

这是前 50 个节点的图,有一个节点未连接到 top50 中的任何节点:

几天来我一直在挣扎。

你可以做的是将网络导入 gephi ASIS 并计算度中心性,这将生成一个变量,其中包含图中每个顶点的度数。之后,您可以使用过滤器工具(如本演示文稿 http://www.clementlevallois.net/gephi/tuto/en/gephi_advanced%20functions_en.pdf 中所示)来限制要使用度数变量的顶点数。这是简单的方法。

或者,您可以使用 igraphsna 包计算每个节点的度数,并在 write.gexf 函数中包含您的网络的属性。

更新 - 我更新了描述

好的,这不是完全微不足道的,但也不简单。我创建了一个包含 500 个节点的随机网络来向您展示示例。

  1. 使用 Gephi 加载网络后,您至少需要 运行 来自统计数据的 平均度
  2. 然后转到 Filters 部分,select Attributes>Range>In-degree,双击并按 Filter 按钮(注意: 在你的情况下你应该只看到 Degree 但其余的仍然适用)
  3. 向右移动滑块,使 Context 面板中的剩余节点数达到 ~50

这是我的样子

着色:

按住“过滤器”按钮的同时,您可以对过滤后的节点应用不同的颜色。在我的例子中,我进入了 Ranking>Nodes selected InDegree 并应用了绿色。注意你也可以select得到你想要的效果。相应的面板如下所示:

这只会为过滤后的节点着色。或者,您可以应用节点画笔 ,但它会变得有点乏味 :)。还有第三个选项,但我把它留作练习:)。

最终图表对我来说就是这样。

您可以通过编程方式在 igraph 中执行类似的操作。您可以 select 入度数前 50 的节点,为它们分配一种颜色,为所有其他节点分配不同的颜色并导出到 GraphML。

希望对您有所帮助。