2016-04-02 3 views
2

Я хотел бы нарисовать две графики g1 и g2 на том же участке с R версии igraph. Однако, если я просто применяю функцию plot (или plot.igraph), я просто получаю два отдельных графика. Есть ли способ рисовать оба графика на одном и том же участке?Участок несколько графиков с R igraph

Вот некоторый минимальный код:

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

Edit: Я хочу, чтобы оба графика должны быть построены на том же рисунке. Таким образом, один узел из g1 и еще один из g2 могут очень хорошо перекрываться на этом рисунке, если они удерживают близкие пространственные позиции на своих соответствующих графиках.

+2

Если вы хотите добавить второй график к тому же сюжету, просто используйте аргумент 'add = TRUE'. После 'plot (g1)', попробуйте 'plot (g2, add = TRUE)'. – nicola

+0

Спасибо nicola, вот и все. Я также только что узнал, что я могу вызвать 'par (new = TRUE)' между вызовами 'plot'. –

ответ

1

мы можем использовать пар (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) 
+0

На самом деле, я не хочу, чтобы графики были отдельными цифрами. Я хочу, чтобы они были на одном и том же рисунке, т. Е. Узлы и ссылки могли перекрываться. –

0

Попробуйте это:

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, чтобы быть в состоянии сказать g2 отдельно от g1.

+0

nicola дал тот же ответ в комментариях к вопросу. Но все равно спасибо! –