【问题标题】:Plot several graphs with R igraph用 R igraph 绘制多个图
【发布时间】:2016-04-02 06:53:58
【问题描述】:

我想用R 版本的igraph 在同一个图上绘制两个图形g1g2。但是,如果我只应用两次plot(或plot.igraph)函数,我只会得到两个单独的图。有没有办法让两个图都绘制在同一个图上?

这是一些最小的代码:

library(igraph)
g1 <- barabasi.game(10)
g2 <- barabasi.game(5)
plot(g1)
plot(g2)

编辑:我希望将两个图表绘制在同一个图中。因此,g1 的一个节点和g2 的另一个节点在此图中很可能重叠,如果它们在各自的图中保持接近的空间位置。

【问题讨论】:

  • 如果要将第二个图添加到同一个图中,只需使用 add=TRUE 参数。在plot(g1) 之后,尝试plot(g2,add=TRUE)
  • 谢谢尼古拉,就是这样。我也刚刚发现我可以在plot 调用之间调用par(new=TRUE)

标签: r graph igraph


【解决方案1】:

试试这个:

library(igraph)
g1 <- barabasi.game(10)
g2 <- barabasi.game(5)
plot(g1)
plot(g2, edge.color='black', vertex.color='green', add=T)

这里的主要技巧是在绘制第二张图时使用add=TRUE

我更改了 g2 的边和顶点的颜色,以便能够区分 g2g1

【讨论】:

  • nicola 在问题 cmets 中给出了相同的答案。不过还是谢谢啦!
【解决方案2】:

我们可以使用 par(mfrow=c(1,2)),并在第二个图中写 add=TRUE。

          library(igraph)
          par(mfrow=c(1,2))
          g1 <- barabasi.game(10)
        g2 <- barabasi.game(5)
          plot(g1)
          plot(g2,add=TRUE)

【讨论】:

  • 实际上,我不希望将图表作为单独的数字。我希望它们在同一个图中,即节点和链接可以重叠。
猜你喜欢
  • 2014-04-07
  • 1970-01-01
  • 2023-03-29
  • 2021-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多