在 R 中使用 ggraph 的 circlepack 布局



我正试图在R.中使用ggraph的circlepack布局创建一个图

我正在使用的代码如下。

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))

我不知道为什么c22222没有出现在c33333中——我只看到了c33333。

我非常感谢任何关于正在发生的事情的建议或想法。

您的代码实际上是正确的,但标签是重叠的如果你在绘图中添加一些抖动,你会看到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)

最新更新