+161
-16
lines changedFilter options
+161
-16
lines changed Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
1
1
Package: ggtree
2
2
Type: Package
3
3
Title: a phylogenetic tree viewer for different types of tree annotations
4
-
Version: 1.1.16
4
+
Version: 1.1.17
5
5
Author: Guangchuang Yu and Tommy Tsan-Yuk Lam
6
6
Maintainer: Guangchuang Yu <guangchuangyu@gmail.com>
7
7
Description: ggtree extends the ggplot2 plotting system which implemented the
Original file line number Diff line number Diff line change
@@ -71,6 +71,8 @@ export(rtree)
71
71
export(scaleClade)
72
72
export(scale_color)
73
73
export(scale_x_ggtree)
74
+
export(subview)
75
+
export(theme_transparent)
74
76
export(theme_tree)
75
77
export(theme_tree2)
76
78
export(write.jplace)
@@ -129,6 +131,7 @@ importFrom(ggplot2,geom_segment)
129
131
importFrom(ggplot2,geom_text)
130
132
importFrom(ggplot2,geom_tile)
131
133
importFrom(ggplot2,ggplot)
134
+
importFrom(ggplot2,ggplotGrob)
132
135
importFrom(ggplot2,guide_legend)
133
136
importFrom(ggplot2,guides)
134
137
importFrom(ggplot2,labs)
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
1
+
CHANGES IN VERSION 1.1.17
2
+
------------------------
3
+
o add 'width' parameter to add_legend, now user can specify the width of legend bar <2015-08-27, Thu>
4
+
o add 'colnames_position' parameter to gheatmap, now colnames can be display on the top of heatmap <2015-08-27, Thu>
5
+
o theme_transparent to make background transparent <2015-08-27, Thu>
6
+
o subview for adding ggplot object (subview) to another ggplot object (mainview) <2015-08-27, Thu>
7
+
1
8
CHANGES IN VERSION 1.1.16
2
9
------------------------
3
10
o update citation <2015-08-17, Mon>
Original file line number Diff line number Diff line change
@@ -36,7 +36,12 @@ ggplotGrob <- ggplot2::ggplotGrob
36
36
##' @param stat The statistical transformation to use on the data for this layer
37
37
##' @param position The position adjustment to use for overlapping points on this layer
38
38
##' @param parse if TRUE, the labels will be passd into expressions
39
+
##' @param show.legend logical
40
+
##' @param inherit.aes logical
39
41
##' @param ... other arguments passed on to 'layer'
42
+
##' @param nudge_x horizontal adjustment
43
+
##' @param nudge_y vertical adjustment
44
+
##' @param check_overlap if TRUE, text that overlaps previous text in the same layer will not be plotted
40
45
##' @source
41
46
##' This is just the imported function
42
47
##' from the ggplot2 package. The documentation you should
Original file line number Diff line number Diff line change
@@ -267,7 +267,7 @@ geom_tippoint <- function(...) {
267
267
theme_tree <- function(bgcolor="white", fgcolor="black", ...) {
268
268
theme_tree2() %+replace%
269
269
theme(panel.background=element_rect(fill=bgcolor, colour=bgcolor),
270
-
axis.line.x = element_line(color=bgcolor),
270
+
axis.line.x = element_blank(),
271
271
axis.text.x = element_blank(),
272
272
axis.ticks.x = element_blank(),
273
273
...)
@@ -301,12 +301,32 @@ theme_tree2 <- function(bgcolor="white", fgcolor="black", ...) {
301
301
panel.background=element_rect(fill=bgcolor, colour=bgcolor),
302
302
panel.border=element_blank(),
303
303
axis.line=element_line(color=fgcolor),
304
-
axis.line.y=element_line(color=bgcolor),
304
+
axis.line.y=element_blank(),
305
305
axis.ticks.y=element_blank(),
306
306
axis.text.y=element_blank(),
307
307
...)
308
308
}
309
309
310
+
##' transparent background theme
311
+
##'
312
+
##'
313
+
##' @title theme_transparent
314
+
##' @param ... additional parameter to tweak the theme
315
+
##' @return ggplot object
316
+
##' @importFrom ggplot2 theme
317
+
##' @importFrom ggplot2 element_rect
318
+
##' @export
319
+
##' @author Guangchuang Yu
320
+
theme_transparent <- function(...) {
321
+
theme(panel.background = element_rect(
322
+
fill = "transparent",
323
+
colour = NA),
324
+
plot.background = element_rect(
325
+
fill = "transparent",
326
+
colour = NA), ...)
327
+
}
328
+
329
+
310
330
##' hilight clade with rectangle
311
331
##'
312
332
##'
@@ -642,6 +662,7 @@ add_colorbar <- function(p, color, x=NULL, ymin=NULL, ymax=NULL, font.size=4) {
642
662
##'
643
663
##' @title add_legend
644
664
##' @param p tree view
665
+
##' @param width width of legend
645
666
##' @param x x position
646
667
##' @param y y position
647
668
##' @param offset offset of text and line
@@ -654,7 +675,7 @@ add_colorbar <- function(p, color, x=NULL, ymin=NULL, ymax=NULL, font.size=4) {
654
675
##' @importFrom ggplot2 ylim
655
676
##' @export
656
677
##' @author Guangchuang Yu
657
-
add_legend <- function(p, x=NULL, y=NULL, offset=NULL, font.size=4, ...) {
678
+
add_legend <- function(p, width=NULL, x=NULL, y=NULL, offset=NULL, font.size=4, ...) {
658
679
dx <- p$data$x %>% range %>% diff
659
680
660
681
if (is.null(x)) {
@@ -666,14 +687,18 @@ add_legend <- function(p, x=NULL, y=NULL, offset=NULL, font.size=4, ...) {
666
687
p <- p + ylim(0, max(p$data$y))
667
688
}
668
689
669
-
670
-
d <- dx/10
671
-
n <- 0
672
-
while (d < 1) {
673
-
d <- d*10
674
-
n <- n + 1
690
+
if (is.null(width) || is.na(width)) {
691
+
d <- dx/10
692
+
n <- 0
693
+
while (d < 1) {
694
+
d <- d*10
695
+
n <- n + 1
696
+
}
697
+
d <- floor(d)/(10^n)
698
+
} else {
699
+
d <- width
675
700
}
676
-
d <- floor(d)/(10^n)
701
+
677
702
if (is.null(offset)) {
678
703
offset <- 0.4
679
704
}
Original file line number Diff line number Diff line change
@@ -10,6 +10,7 @@
10
10
##' @param high color of highest value
11
11
##' @param color color of heatmap cell border
12
12
##' @param colnames logical, add matrix colnames or not
13
+
##' @param colnames_position one of 'bottom' or 'top'
13
14
##' @param font.size font size of matrix colnames
14
15
##' @return tree view
15
16
##' @importFrom reshape2 melt
@@ -22,7 +23,10 @@
22
23
##' @export
23
24
##' @author Guangchuang Yu
24
25
gheatmap <- function(p, data, offset=0, width=1, low="green", high="red",
25
-
color="white", colnames=TRUE, font.size=4) {
26
+
color="white", colnames=TRUE, colnames_position="bottom", font.size=4) {
27
+
28
+
colnames_position %<>% match.arg(c("bottom", "top"))
29
+
26
30
## if (is.null(width)) {
27
31
## width <- (p$data$x %>% range %>% diff)/30
28
32
## }
@@ -61,7 +65,12 @@ gheatmap <- function(p, data, offset=0, width=1, low="green", high="red",
61
65
}
62
66
63
67
if (colnames) {
64
-
p2 <- p2 + geom_text(data=mapping, aes(x=to, label=from), y=0, size=font.size)
68
+
if (colnames_position == "bottom") {
69
+
y <- 0
70
+
} else {
71
+
y <- max(p$data$y) + 1
72
+
}
73
+
p2 <- p2 + geom_text(data=mapping, aes(x=to, label=from), y=y, size=font.size)
65
74
}
66
75
67
76
p2 <- p2 + theme(legend.position="right", legend.title=element_blank())
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
1
+
##' add subview to mainview for ggplot2 objects
2
+
##'
3
+
##'
4
+
##' @title subview
5
+
##' @param mainview main view
6
+
##' @param subview sub view
7
+
##' @param x x position
8
+
##' @param y y position
9
+
##' @param width width of subview, [0,1]
10
+
##' @param height height of subview, [0,1]
11
+
##' @return ggplot object
12
+
##' @importFrom ggplot2 annotation_custom
13
+
##' @importFrom ggplot2 ggplotGrob
14
+
##' @export
15
+
##' @author Guangchuang Yu
16
+
subview <- function(mainview, subview, x, y, width=.1, height=.1) {
17
+
xrng <- mainview$data$x %>% range %>% diff
18
+
yrng <- mainview$data$y %>% range %>% diff
19
+
20
+
mainview + annotation_custom(
21
+
ggplotGrob(subview),
22
+
xmin = x - width*xrng,
23
+
xmax = x + width*xrng,
24
+
ymin = y - height*yrng,
25
+
ymax = y + height*yrng)
26
+
}
Original file line number Diff line number Diff line change
@@ -4,11 +4,14 @@
4
4
\alias{add_legend}
5
5
\title{add_legend}
6
6
\usage{
7
-
add_legend(p, x = NULL, y = NULL, offset = NULL, font.size = 4, ...)
7
+
add_legend(p, width = NULL, x = NULL, y = NULL, offset = NULL,
8
+
font.size = 4, ...)
8
9
}
9
10
\arguments{
10
11
\item{p}{tree view}
11
12
13
+
\item{width}{width of legend}
14
+
12
15
\item{x}{x position}
13
16
14
17
\item{y}{y position}
Original file line number Diff line number Diff line change
@@ -10,7 +10,9 @@ read for the geom_text function can be found here: \link[ggplot2]{geom_text}
10
10
}
11
11
\usage{
12
12
geom_text(mapping = NULL, data = NULL, stat = "identity",
13
-
position = "identity", parse = FALSE, ...)
13
+
position = "identity", parse = FALSE, show.legend = NA,
14
+
inherit.aes = TRUE, ..., nudge_x = 0, nudge_y = 0,
15
+
check_overlap = FALSE)
14
16
}
15
17
\arguments{
16
18
\item{mapping}{the aesthetic mapping}
@@ -24,7 +26,17 @@ only needed if you want to override he plot defaults.}
24
26
25
27
\item{parse}{if TRUE, the labels will be passd into expressions}
26
28
29
+
\item{show.legend}{logical}
30
+
31
+
\item{inherit.aes}{logical}
32
+
27
33
\item{...}{other arguments passed on to 'layer'}
34
+
35
+
\item{nudge_x}{horizontal adjustment}
36
+
37
+
\item{nudge_y}{vertical adjustment}
38
+
39
+
\item{check_overlap}{if TRUE, text that overlaps previous text in the same layer will not be plotted}
28
40
}
29
41
\description{
30
42
text annotations
Original file line number Diff line number Diff line change
@@ -5,7 +5,8 @@
5
5
\title{gheatmap}
6
6
\usage{
7
7
gheatmap(p, data, offset = 0, width = 1, low = "green", high = "red",
8
-
color = "white", colnames = TRUE, font.size = 4)
8
+
color = "white", colnames = TRUE, colnames_position = "bottom",
9
+
font.size = 4)
9
10
}
10
11
\arguments{
11
12
\item{p}{tree view}
@@ -24,6 +25,8 @@ gheatmap(p, data, offset = 0, width = 1, low = "green", high = "red",
24
25
25
26
\item{colnames}{logical, add matrix colnames or not}
26
27
28
+
\item{colnames_position}{one of 'bottom' or 'top'}
29
+
27
30
\item{font.size}{font size of matrix colnames}
28
31
}
29
32
\value{
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4