##打开ape软件包的帮助文件

library(ape)

##查找ape包中plot.phylo函数的帮助

?plot.phylo
## 打开httpd帮助服务器… 好了

An extract from Sibley and Ahlquist (1990)

x <- "(((Strix_aluco:4.2,Asio_otus:4.2):3.1,Athene_noctua:7.3):6.3,Tyto_alba:13.5);"
tree.owls <- read.tree(text= x)
plot(tree.owls)

### Show the types of trees.

layout(matrix(1:6, 3, 2))
plot(tree.owls, main = "With branch lengths")
plot(tree.owls, type = "c")
plot(tree.owls, type = "u")
plot(tree.owls, use.edge.length = FALSE, main = "Without branch lengths")
plot(tree.owls, type = "c", use.edge.length = FALSE)
plot(tree.owls, type = "u", use.edge.length = FALSE)

layout(1)

data(bird.orders)

using random colours and thickness

layout(1)
data(bird.orders)
plot(bird.orders,
     edge.color = sample(colors(), length(bird.orders$edge)/2),
     edge.width = sample(1:10, length(bird.orders$edge)/2, replace = TRUE))
title("Random colours and branch thickness")

### rainbow colouring…

X <- c("red", "orange", "yellow", "green", "blue", "purple")
plot(bird.orders,
     edge.color = sample(X, length(bird.orders$edge)/2, replace = TRUE),
     edge.width = sample(1:10, length(bird.orders$edge)/2, replace = TRUE))
title("Rainbow colouring")

plot(bird.orders, type = "c", use.edge.length = FALSE,
     edge.color = sample(X, length(bird.orders$edge)/2, replace = TRUE),
     edge.width = rep(5, length(bird.orders$edge)/2))
segments(rep(0, 6), 6.5:1.5, rep(2, 6), 6.5:1.5, lwd = 5, col = X)
text(rep(2.5, 6), 6.5:1.5, paste(X, "..."), adj = 0)
title("Character mapping...")

plot(bird.orders, "u", font = 1, cex = 0.75)

data(bird.families)
plot(bird.families, "u", lab4ut = "axial", font = 1, cex = 0.5)

plot(bird.families, "r", font = 1, cex = 0.5)

### cladogram with oblique tip labels

plot(bird.orders, "c", FALSE, direction = "u", srt = -40, x.lim = 25.5)

### facing trees with different informations…

tr <- bird.orders
tr$tip.label <- rep("", 23)
layout(matrix(1:2, 1, 2), c(5, 4))
plot(bird.orders, "c", FALSE, adj = 0.5, no.margin = TRUE, label.offset = 0.8,
     edge.color = sample(X, length(bird.orders$edge)/2, replace = TRUE),
     edge.width = rep(5, length(bird.orders$edge)/2))
text(7.5, 23, "Facing trees with\ndifferent informations", font = 2)
plot(tr, "p", direction = "l", no.margin = TRUE,
     edge.width = sample(1:10, length(bird.orders$edge)/2, replace = TRUE))

### Recycling of arguments gives a lot of possibilities ### for tip labels:

plot(bird.orders, tip.col = c(rep("red", 5), rep("blue", 18)),
     font = c(rep(3, 5), rep(2, 17), 1))

plot(bird.orders, tip.col = c("blue", "green"),
     cex = 23:1/23 + .3, font = 1:3)

co <- c(rep("blue", 9), rep("green", 35))
plot(bird.orders, "f", edge.col = co)

plot(bird.orders, edge.col = co)

## tidy trees

tr <- rtree(100)
layout(matrix(1:2, 2))
plot(tr)
axis(2)
plot(tr, "t")
axis(2)