3333# ' @seealso \code{\link{dendro_data}}
3434# ' @example inst/examples/example_ggdendrogram.R
3535ggdendrogram <- function (data , segments = TRUE , labels = TRUE , leaf_labels = TRUE ,
36- rotate = FALSE , theme_dendro = TRUE , ... ){
36+ rotate = FALSE , theme_dendro = TRUE , ... ){
3737 dataClass <- if (inherits(data , " dendro" )) data $ class else class(data )
3838 angle <- if (dataClass %in% c(" dendrogram" , " hclust" )){
39- ifelse(rotate , 0 , 90 )
40- } else {
41- ifelse(rotate , 90 , 0 )
42- }
39+ ifelse(rotate , 0 , 90 )
40+ } else {
41+ ifelse(rotate , 90 , 0 )
42+ }
4343 hjust <- if (dataClass %in% c(" dendrogram" , " hclust" )){
44- ifelse(rotate , 0 , 1 )
45- } else {
46- 0.5
47- }
44+ ifelse(rotate , 0 , 1 )
45+ } else {
46+ 0.5
47+ }
4848 if (! is.dendro(data )) data <- dendro_data(data )
49- p <- ggplot()
49+ p <- ggplot() + geom_blank()
5050 if (all(segments , ! is.null(data $ segments ))){
5151 p <- p + geom_segment(data = segment(data ),
52- aes_string(x = " x" , y = " y" , xend = " xend" , yend = " yend" ))
52+ aes_string(x = " x" , y = " y" , xend = " xend" , yend = " yend" ))
5353 }
54- # if(all(labels, !is.null(data$labels))){
55- # p <- p + geom_text(data=label(data),
56- # aes_string(x="x", y="y", label="label"), hjust=hjust, angle=angle, ...)
57- # }
5854 if (all(leaf_labels , ! is.null(data $ leaf_labels ))){
5955 p <- p + geom_text(data = leaf_label(data ),
60- aes_string(x = " x" , y = " y" , label = " label" ), hjust = hjust , angle = angle , ... )
61- }
62- if (rotate ){
63- p <- p + scale_x_discrete(labels = data $ labels $ label )
64- } else {
65- p <- p + scale_x_discrete(labels = data $ labels $ label )
56+ aes_string(x = " x" , y = " y" , label = " label" ), hjust = hjust , angle = angle , ... )
6657 }
58+ p <- p + scale_x_discrete(labels = data $ labels $ label )
6759 if (rotate ){
6860 p <- p + coord_flip()
6961 p <- p + scale_y_continuous()
7062 } else {
7163 p <- p + scale_y_continuous()
7264 }
7365 if (theme_dendro ) p <- p + theme_dendro()
74- p <- p + theme(axis.text.x = element_text(angle = angle , hjust = 1 ))
75- p <- p + theme(axis.text.y = element_text(angle = angle , hjust = 1 ))
76-
66+ p <- p +
67+ theme(axis.text.x = element_text(angle = angle , hjust = 1 )) +
68+ theme(axis.text.y = element_text(angle = angle , hjust = 1 ))
69+
7770 p
7871}
7972
@@ -85,15 +78,15 @@ ggdendrogram <- function(data, segments=TRUE, labels=TRUE, leaf_labels=TRUE,
8578theme_dendro <- function (){
8679 element_blank <- ggplot2 :: element_blank
8780 ggplot2 :: theme(
88- panel.grid.major = element_blank(),
89- panel.grid.minor = element_blank(),
90- panel.background = element_blank(),
91- axis.title.x = element_text(colour = NA ),
92- axis.title.y = element_blank(),
93- axis.text.x = element_blank(),
94- axis.text.y = element_blank(),
95- axis.line = element_blank(),
96- axis.ticks = element_blank()
81+ panel.grid.major = element_blank(),
82+ panel.grid.minor = element_blank(),
83+ panel.background = element_blank(),
84+ axis.title.x = element_text(colour = NA ),
85+ axis.title.y = element_blank(),
86+ axis.text.x = element_blank(),
87+ axis.text.y = element_blank(),
88+ axis.line = element_blank(),
89+ axis.ticks = element_blank()
9790 )
9891}
9992
0 commit comments