0

我正在尝试使用 R 包 ggtree 来可视化我的多基因树。我使用以下代码:

library(ggtree)
library(treeio)
tree_text<-read.table("tree.nwk")
tree <-read.tree(text=as.character(tree_text$V1))
ggtree(tree, layout="daylight") + geom_tiplab(aes(angle=angle))

树的一些尖端标签在绘图区域之外并且不可见。我使用 dev.size("in") 命令获取图形窗口的大小,它返回:[1] 5.760417 5.750000。我希望树可以显示在 A4 纸张大小的区域中,所以我尝试通过以下方式制作更大的图形窗口:

windows(height=8,width=8)
ggtree(tree, layout="daylight") + geom_tiplab(aes(angle=angle))

但它不起作用。dev.size("in") 命令仍然返回:[1] 5.760417 5.750000,并且树的一些尖端标签仍然在绘图区域之外。如果我使用 ggsave 保存图像:

p<-ggtree(tree, layout="daylight") + geom_tiplab(aes(angle=angle))    
ggsave("tree.eps",p,height=8,width=8)

它给出了一个错误:

Error in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y,  : 
      family 'sans' not included in postscript() device

如果我将图像保存为 pdf 文件:

postscript("tree.pdf",family="Times",fonts="sans")

它可以工作并且可以保存图像,但是树的一些尖端标签仍在绘图区域之外。我尝试增加ggsave中的高度和宽度值,但是树的大小随着绘图画布的增加而增加,所以不可见的提示标签总是不可见的

您知道如何纠正问题并显示树的所有完整提示标签吗?如有任何帮助,我将不胜感激!</p>

4

1 回答 1

0

所以我去安装了ggtree.

以下代码取自包vignette

library(ggtree)
raxml_file <- system.file("extdata/RAxML", "RAxML_bipartitionsBranchLabels.H3", package="treeio")
raxml <- read.raxml(raxml_file)
p <- ggtree(raxml) + geom_label(aes(label=bootstrap, fill=bootstrap)) + geom_tiplab() +
  scale_fill_continuous(low='darkgreen', high='red') + theme_tree2(legend.position='right')
p

在此处输入图像描述

添加xlim(0, 0.25) + ylim(0, 70)显示大部分剪切的文本。

p + xlim(0, 0.25) + ylim(0, 70)

在此处输入图像描述

于 2018-05-01T09:31:22.987 回答