【问题标题】:Reposition the labels on ggtree重新定位 ggtree 上的标签
【发布时间】:2021-12-08 15:15:27
【问题描述】:

我正在尝试可视化我的 ggtree,但我似乎卡在了最后一步;将树标签从水平重新定位到垂直,使它们不重叠。如果我更改 geom_tiplab 函数上的 geom = "text",我会得到我想要的,但我的标签不再是彩色的。数据集here 和here

这里是重现性的代码;请帮忙

p1 <- ape::read.tree("Tert_aln.fasta_processed.fa.raxml.support")
temp1 = read.csv("Tert_Final_Mapping_File.csv", sep=";")
mycolors = c(brewer.pal(name="Set1", n = 9), brewer.pal(name="Paired", n = 12), brewer.pal(name="Dark2", n = 8))
p2 <- ggtree(p1, layout='circular') %<+% temp1 +
  geom_tippoint(
    mapping = aes(color = phylum),          # tip color by phyla. 
    size = 2,
    show.legend = FALSE) +
  scale_color_manual(values = mycolors) +
  geom_tiplab(                          # adds name of phyla to tip of its branch
    aes(fill = phylum),
    color = 'black',                      
    offset = 2,
    size = 3,
    geom = "label",
    align = TRUE,
    face = "bold",
    label.size = 0
    label.padding = unit(0.15, "lines"), # amount of padding around the labels
    linetype = "solid") +
  ggtitle("Phylogenetic tree of Tert")+  # title of your graph
  theme(
    axis.title.x = element_blank(), # removes x-axis title
    axis.title.y = element_blank(), # removes y-axis title
    legend.title = element_text(    # defines font size and format of the legend title
      face = "bold",
      size = 12),   
    legend.text=element_text(       # defines font size and format of the legend text
      face = "bold",
      size = 10),  
    plot.title = element_text(      # defines font size and format of the plot title
      size = 12,
      face = "bold"),  
    legend.position = "bottom",     # defines placement of the legend
    legend.box = "vertical",        # defines placement of the legend
    legend.margin = margin()) 
pdf("ggplot_Tert1.pdf", width = 20, height = 22)
p2
dev.off()

【问题讨论】:

    标签: r ggtree


    【解决方案1】:

    我注意到你写了你想要彩色标签,但你有fill,它在这里没有做任何事情。你也声明了color = 'black'。

    对不起,如果我错过了标记!我正在对您想看到的内容进行最佳猜测。

    为了实现这一点,我做了四件事:

      1. 在geom_tiplab() 中,我将 fill = phylum 更改为color = phylum。
      1. 在geom_tiplab(),我注释掉了color = 'black'。
      1. 在geom_tiplab(),我注释掉了label.size = 0。
      1. 在geom_tiplab() 中,我将 geom = "label" 更改为geom = "text"。

    这是你想要的吗? (您必须调整绘制的限制以使所有文本都显示在视觉对象中。)这是geom = "text"。当您使用标签时,它会自动旋转值以水平显示。

    【讨论】:

    • 这正是我想要的。谢谢!!显然我还有很多东西要学。可惜我还是不能投票?谢谢
    猜你喜欢
    • 2016-07-20
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 2016-03-22
    • 2020-12-27
    • 2010-12-28
    相关资源
    最近更新 更多