【问题标题】:Creating Variables with Group in R igraph在 R igraph 中使用组创建变量
【发布时间】:2015-02-20 17:51:01
【问题描述】:

以下是我的复制示例代码。

sender_code <- c(12  ,1  ,6 ,19  ,7  ,8  ,3 ,17 ,13 ,10  ,4  ,9  ,2  ,5 

,15 ,11 ,16 ,20 ,14 ,18)
receiver_code <- c( 20 ,16  ,7  ,3  ,4 ,11  ,8  ,2 ,10 ,12 ,17  ,5  ,1 ,18 ,13  ,9  ,6 ,15 ,19 ,14)

sender_country <- ifelse(sender_code<6,"Phil",
                      ifelse(sender_code<10,"Japan",
                             ifelse(sender_code<16,"Brazil",
                                    "Norway"
                                    )
                             )
                      )



receiver_country <- ifelse(receiver_code<6,"Phil",
                     ifelse(receiver_code<10,"Japan",
                            ifelse(receiver_code<16,"Brazil",
                                   "Norway"
                            )
                     )
)



message<- data.frame(sender_code,receiver_code,sender_country,receiver_country 

我想将每个发送者连接到每个接收者,然后根据他们的国家/地区对它们进行颜色编码,如下图所示:

http://revolution-computing.typepad.com/.a/6a010534b1db25970b017c379af59c970b-pi

问题是我不知道 igraph 上的哪个函数可以根据我的数据创建那种图形。

提前致谢

【问题讨论】:

  • 您想要基于_code 变量还是_country 变量的图形连接(边)?
  • @Spacedman,我希望连接基于 _code。谢谢

标签: r igraph


【解决方案1】:

先试试这个:

library(igraph)
with(message, 
  plot(graph.data.frame(message), 
       vertex.color = sender_country,
       vertex.label.color = "white",
       edge.color = sender_country)
)

?plot.igraph 下的更多信息。

【讨论】:

  • 您好,我在示例数据集上使用了您的代码,并注意到我的箭头和与之相连的线条比您的粗得多。它对大数据集不是很有用。我可以通过任何方式编辑我正在使用 Mac 的箭头大小。
  • 查看?igraph.plotting 中的第一个示例。您应该能够使用属性edge.arrow.sizeedge.arrow.width 调整箭头大小。
猜你喜欢
  • 1970-01-01
  • 2014-07-04
  • 2018-11-25
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 2019-08-25
  • 2016-01-04
  • 2017-04-27
相关资源
最近更新 更多