2017-04-01 2 views
4

Dans ggraph, si le tracé est radial, les étiquettes peuvent être encombrées, que ce soit en utilisant repel=T ou non.Comment lire une étiquette de texte dans le graphique radial ggraph

Existe-t-il un moyen de rendre l'étiquette interactif ou de permettre la rotation du graphique afin de lire les étiquettes?

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

Répondre

1

Vous pouvez modifier votre esthétique d'angle comme celui-ci:

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