liamrevell / phytools

GNU General Public License v3.0
198 stars 56 forks source link

phylo.heatmap remove elements and smush #144

Closed HedvigS closed 8 months ago

HedvigS commented 10 months ago

Dearest @liamrevell .

As always, big fan of your stuff.

I was wondering if you have any advice for removing items and squeezing things together in phylo.heatmap.

I've got this script: https://github.com/HedvigS/personal-cookbook/blob/main/R/tree_plotting_for_enock.R which makes this plot (desires noted in red). I'd like to drop the col names, drop the legend ans smush the heatmap and tree closer togther. i went looking in the code for how to do this, but I haven't get found a solution.

I realise that a function like phylo.heatmap combines several elements and calls on many other functions, so things get complex. but if there is a way of cutting such things out, i'd be very grateful to know about it.

enock_tree_plot copy

liamrevell commented 8 months ago

Unfortunately, out of the box the only suggestions I can make is to try the arguments labels=FALSE and legend=FALSE. You can use split (a vector) to set how much of the horizontal space of the plot you want dedicated to the phylogeny & data matrix, respectively: e.g., split=c(0.9,0.1). Finally, with regard to the clade labels, try adjusting the cladelabels argument offset. Normally, this is set by default assuming the tip labels were printed -- but this can be modified. Good luck.