[R] annotation help in ggplot2
ঋষি ( ऋषि / rIsHi )
r|@h|@d@@roy @end|ng |rom gm@||@com
Fri Sep 20 10:47:55 CEST 2019
There are no attached data .
On Fri, Sep 20, 2019 at 11:40 AM Moshiur Rahman <mrahmankufmrt using gmail.com>
wrote:
> Dear ggplot2 experts,
>
> I'm struggling to make a plot having family id in x-axis and female id
> below that family id where each 4 families have a single female id.
>
> I also need to add male id on top of each bar which I can do before
> grid.arrange, but fail after doing it. So, any suggestions?
>
> Please find below my codes and help me to complete it perfectly.
> #data
> data <- read.table("R-help_ggplot2.csv", header=TRUE, sep=",")
> names(data)
> #packages
> library(ggplot2)
> library(grid)
> library(gridExtra)
> library(scales)
> library(ggpubr)
> #plot codes
> p1 =
> ggplot(data,aes(x=factor(family),y=offs.surv.perct,fill=factor(treat)))+
> geom_bar(stat="identity", position="dodge")+
> #facet_wrap(~ Female)+
> geom_bar(stat="identity", position="dodge", colour="black",
> show.legend= TRUE) + # show_guide = TRUE gives legend boarder
> #geom_hline(yintercept=15, size=0.5, linetype = 2)+ ### middle line
> scale_fill_manual(values=c("grey", "white")) + # grey80 is closer to
> white than black
> xlab("Family") +
> ylab (expression(paste("Offspring survival rate (%)"))) +
> #coord_cartesian(xlim=c(0,40), ylim=c(0,60), clip="off")+
> scale_y_continuous(expand = c(0, 0), limits = c(0, 60))+
> theme(legend.title = element_text(colour="black", size=12))+
> theme(legend.text = element_text(colour="black", size=11))+
> theme(legend.background = element_blank())+
> theme(legend.key = element_blank())+
> theme(legend.box.background = element_blank())+
> theme(legend.key.size = unit(2, "mm"),legend.key.width =
> unit(0.5,"cm"))+
> theme(legend.position=c(0.05,0.9),legend.direction
> ="vertical",legend.box = "vertical")+ # add legend on top
> theme(panel.background = element_rect(fill = "transparent"))+
> theme(axis.line = element_line(colour =
> "black"),axis.text.x=element_text(size=10,
> colour="black"),axis.text.y=element_text(size=10, colour="black"),
> axis.title.y = element_text(size=12, colour =
> "black",margin=margin(0,5,0,0)),
> axis.title.x = element_blank(),
> strip.text.x = element_blank(),# remove top level title (high and
> low)
> strip.background = element_blank(),# remove top level background
> panel.grid.major = element_blank(),# remove grid line within the
> plot
> panel.grid.minor = element_blank(),
> panel.border = element_blank())
> p1
>
> ### legend correction
> p2<- p1 + guides(fill = guide_legend(title="Fertilization group",keywidth =
> 1,keyheight = 1,
> title.theme = element_text(size=12, colour =
> "black", angle = 0)))+
> theme(legend.text = element_text(size = 12, colour = "black", angle = 0))
>
> p2
>
> ###plot margins
> p3<-p2+theme(plot.margin = unit(c(1,1,1.7,1), "lines"))
> p3
>
> #x-axis label
> p4<-grid.arrange(
> p3,
> bottom = textGrob(
> "Family and female number",
> gp = gpar(fontsize = 12, cex=1), #fontface = "bold",
> vjust = 0.5, hjust = 0.5,x = 0.52))
>
> # annotation (NOT WORKING)
> p5<-p4+annotate("text", label = "M1", x = 1, y = 25.03, fontface = 1,
> size=3,angle = 90)
> p5
> p6<-p5+annotate("text", label = "M2", x = 2, y = 18.37, fontface = 1,
> size=3,angle = 90)
> p6
> p7<-p6+annotate("text", label = "M3", x = 3, y = 21.7, fontface = 1,
> size=3,angle = 90)
> p7
> p8<-p7+annotate("text", label = "M1-2-3", x = 4, y = 19.1, fontface= 1,
> size=3,angle = 90)
> p8
> Fig1.1<-p8+annotate("segment", size=0.3, x=c(1,1,4),xend=c(1,4,4),
> y= c(26,28,28), yend=c(28,28,21))+
> annotate("text",x=2.45,y=29.5,fontface = 1, size=3,angle =
> 90,label=c("F1"))
>
> Fig1.1
>
> Please find attached also my data.
>
> Any assistance will be highly appreciated.
>
> Regards,
>
> Moshi
>
>
> JSPS Postdoctoral Fellow
> Laboratory of Population Biology
> Department of Marine Biosciences
> Graduate School of Marine Science and Technology
> Tokyo University of Marine Science and Technology
> 4-5-7 Konan, Minato-ku, Tokyo 108-8477, Japan
> Mobile: 050-6874-9072
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
With regards
Rishi Das Roy
[[alternative HTML version deleted]]
More information about the R-help
mailing list