Skip to content

adjust location of geom_star and geom_bar? #26

@BinhongLiu

Description

@BinhongLiu

library("ggplot2")
library("ggtree")
library("ggtreeExtra")

#tree
trfile <- system.file("extdata", "tree.nwk", package="ggtreeExtra")
tr <- read.tree(trfile)
numtip <- length(tr$tip.label)

#data
dat2 <- data.frame(ID=tr$tip.label,
Location=c(rep("HK", 50), rep("TW", 36), rep("SX", 30), rep("GD", 48),
rep("HN", 20), rep("AH", 20), rep("FJ", 26)),
Length=abs(rnorm(n=numtip, mean=0.6)),
Group=c(rep("Yes", 200), rep("No", 30)),
Abundance=abs(rnorm(n=numtip, mean=10, sd=0.00000001)))

p <- ggtree(tr) +
geom_tiplab(align=TRUE,fontface="italic",size = 2) +
geom_treescale(x=6, y=0, fontsize=1.2, linesize=0.3)+ hexpand(5)

p + geom_fruit_list(geom_fruit(data=dat2,
geom=geom_star,
mapping=aes(y=ID, fill=Location),
pwidth=0.1,
stat="identity",
orientation="y",
axis.param=list(axis="x", nbreak=4, vjust=2),
position = position_nudge(50)
),
scale_fill_manual(values=c("#D15FEE","#EE6A50","#FFC0CB","#8E8E38","#9ACD32","#006400","#8B4513"))) +
new_scale_fill() +
geom_fruit(data=dat2,
geom=geom_bar,
mapping=aes(y=ID, x=Abundance, fill=Location),
pwidth=0.1,
stat="identity",
orientation="y",
axis.param=list(axis="x", nbreak=4, vjust=2)
)

image

Hi, I want to mark some stars after the tiplab and thereafter add a bar plot. You can see that the bar plot starts from the tip of the tree, but not next after the stars. How should I modify the code to adjust their positions propers?
Also, the bar plot is too short now, which makes the whole figure not so pretty. How to scale up and make the bar plot wider?
Thanks a lot!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions