我正在尝试使用ggraph的circlepack布局在R中创建一个图形。
我使用的代码如下所示。
df <- data.frame(PID = c("root", "c11111", "c22222", "c11111", "c11111"),
ID = c("c11111", "c22222", "s33333", "c44444", "c55555"),
size = c(1, 20000, 10000, 1, 1))
vertices <- df %>%
distinct(ID, size) %>%
add_row(ID = "root", size = 0)
mygraph <- graph_from_data_frame(df, vertices = vertices)
ggraph(mygraph, layout = 'circlepack') +
geom_node_circle(aes(fill = size)) +
theme_void() +
geom_node_label(aes(label = name))我不确定为什么c33333中没有出现c22222 --我只看到了c33333。
我非常感谢任何关于正在发生的事情的建议或想法。
发布于 2020-12-07 16:43:46
您的代码实际上是正确的,但是您的标注是重叠的。如果您在图中添加了一些抖动,您将看到c22222
ggraph(mygraph, layout = 'circlepack') +
geom_node_circle(aes(fill = size)) +
theme_void() +
geom_node_label(aes(label = name),position=position_jitter(width=.2,height=.2))注意:此图当前未使用图形的size属性。您应该添加weight=size
ggraph(mygraph, layout = 'circlepack', weight=size)https://stackoverflow.com/questions/65176571
复制相似问题