繁体   English   中英

如何用igraph制作星星图?

[英]How to make a star plot with igraph?

我用的igraph工作的第一次,很想做一个“明星地块”( make_star()与包igraph

为此,我准备了一个示例数据集,它具有两列:name和wght。

我希望“ ME”位于情节的中心,所有箭头都应从情节中移出。 如果箭头的宽度等于wght的值(也许与edge.width )或箭头上的权重相对应。

我的代码如下所示:

library(igraph)
wght <- runif(6, min = 1, max = 10)
name <- c("John", "Jim", "Jack", "Jesse", "Justin", "Peter")
data <- data.frame(name, wght)


st <- make_star(n = 6, mode = "out")
plot(st, vertex.label = data$name)

输出:

在此处输入图片说明

我想要的是:

在此处输入图片说明

创建一个包含“ Me”作为顶点的图形。 添加边缘属性"weight" 创建以“ Me”为center star layout 根据重量设置边缘宽度。 情节!

g <- graph_from_data_frame(data.frame(from = "Me", to = name))
E(g)$weights <- wght

plot(g, layout = layout_as_star(g, center = V(g)["Me"]), edge.width = E(g)$weights)

在此处输入图片说明


数据

set.seed(1)
wght <- runif(6, min = 1, max = 10)
name <- c("John", "Jim", "Jack", "Jesse", "Justin", "Peter")

了解新包装非常有趣。 这应该为您做:

st <- make_star(n=6,mode = "out") %>%
      set_vertex_attr("label", index = 1, value = "ME") %>%
      set_vertex_attr("label", index = 2:6, value = name[2:6])

plot(st)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM