2017-04-01 42 views
4

如所示,如果图是径向的,则无论是否使用repel=T,标签都可能拥挤。如何读取ggraph径向图中的文本标签

有没有办法让标签交互或允许旋转图形以读取标签?

library(ggraph) 
mtcarsDen <- as.dendrogram(hclust(dist(mtcars[1:4], method='euclidean'), 
          method='ward.D2')) 
ggraph(graph = mtcarsDen, layout = 'dendrogram', repel = TRUE, circular = TRUE, 
    ratio = 0.5) + 
geom_edge_elbow() + 
geom_node_text(aes(x = x*1.05, y=y*1.05, filter=leaf, 
       angle = node_angle(x, y), label = label), 
      size=3, hjust='outward') + 
geom_node_point(aes(filter=leaf)) + 
coord_fixed() + 
ggforce::theme_no_axes() 

回答

1

您可以修改您的视角中的审美是这样的:

ggraph(graph = mtcarsDen, layout = 'dendrogram', repel = TRUE, circular = TRUE, 
     ratio = 0.5) + 
    geom_edge_elbow() + 
    geom_node_text(aes(x = x*1.005, y=y*1.005, filter=leaf, 
        angle = -((-node_angle(x, y)+90)%%180)+90, label = label), 
       size=3, hjust='outward') + 
    geom_node_point(aes(filter=leaf)) + 
    coord_fixed() + 
    ggforce::theme_no_axes() 

enter image description here