Hello,
Liam, thank You very much! It is what I was looking for. Unfortunately, I have 
problem with Your solution 4 and onward (attached). Previous 3 solutions 
worked as expected. Some trees were unrooted, rooting did not help. Branch 
lengths were variable, but all were ultrametric. Also I don't see why tip 
labels are missing.
I'd also add one more information. Incongruent nodes use to have low support 
among trees. I'd like to display support below e.g. 90 in color of respective 
tree and some offset not to overlap.

print.phylo(x=hirta[[1]], details=TRUE) # Other trees are similar...

Phylogenetic tree with 28 tips and 27 internal nodes.

Tip labels:
        O._engleriana, O._odorata, O._versicolor, O._zeyheri, O._fibrosa, 
O._ciliaris, ...
Node labels:
        , NA, 100.0, 100.0, 99.0, 100.0, ...

Rooted; includes branch lengths.
## What I did:
# Vertical offset
hirta.ylim <- c(0, Ntip(hirta[[1]])+1)
# Get depths of the tree
hirta.h <- sapply(hirta, function(x) max(nodeHeights(x)))
# Test plot the longest tree to get the maximum x dimension
plotTree(hirta[[which(hirta.h==max(hirta.h))]], direction="leftwards")
hirta.xlim <- get("last_plot.phylo", envir=.PlotPhyloEnv)$x.lim
# Set tip order based on a majority rule consensus tree
hirta.tips <- setNames(1:Ntip(hirta[[1]]), untangle(consensus(hirta, p=0.5), 
"read.tree")$tip.label)
# Set colors
hirta.colors <- rainbow(n=length(hirta))
# Plot our trees
for(i in 1:length(hirta)) {
  hirta.y.shift <- (i-median(1:length(hirta)))/length(hirta)/2
  plotTree(hirta[[i]], color=make.transparent(hirta.colors[i], 0.4), 
tips=hirta.tips+hirta.y.shift, add=i>1, direction="leftwards", 
xlim=hirta.xlim[2:1], mar=c(4.1, 1.1, 1.1, 1.1), nodes="inner", 
ftype=if(i==median(1:length(hirta))) "i" else "off", ylim=c(0, 11))
  if(i==1) axis(1)
  }

Sincerely,
V.

Dne středa 26. dubna 2017 15:29:45 CEST jste napsal(a):
> Hi Vojtech.
> 
> I just posted a handful of different possible solutions using phytools
> on my blog:
> http://blog.phytools.org/2017/04/showing-multiple-conflicting.html. Let
> me know if any of them work for you.
> 
> All the best, Liam
> 
> On 4/25/2017 12:20 PM, Vojtěch Zeisek wrote:
> > Hello,
> > for comparison of two trees I can use very nice function cophyloplot
> > plotting two trees (left and right) and connecting respective nodes by
> > lines. Very nice and convenient to read. But only for two trees.
> > Displaying multiple trees in multiple comparisons is not very convenient.
> > To display dozens to hundreds of trees there is densitree. Also nice, but
> > for this purpose I don't like its display.
> > I have several trees (~5) and I wish to compare their topologies, show
> > supports (at least for differing nodes) and highlight differences. I
> > thought about some overlay/parallel plotting (similar to the attached
> > image) where there would be complete topologies displayed and
> > incongruences would be easily visible. It would be probably doable by
> > plotting all separate trees by plot.phylo and then combining and tuning
> > the figure in some vector editor (like Inkscape). But I hope there is
> > some more automated way to do it. :-) Sincerely,
> > V.
-- 
Vojtěch Zeisek
https://trapa.cz/en/

Department of Botany, Faculty of Science
Charles University, Prague, Czech Republic
https://www.natur.cuni.cz/biology/botany/

Institute of Botany, Czech Academy of Sciences
Průhonice, Czech Republic
http://www.ibot.cas.cz/en/

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
R-sig-phylo mailing list - R-sig-phylo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/

Reply via email to