Thanks a lot Rishi for your very cordial effort and great help. But still I need some help to improve it as the plot doesn't clearly depict which female belongs to which family and this can be detected by drawing a line from 1-4 for F1, 5-8 for F2....
Another problem I can see that the position of MID (P1,2,3...) is not looking well which are somehow noisy. Finally, can we drop the bars at the bottom of x-axis that I did with scale_y_continuous? Please do me some favour to complete this plot which I need for a publication. With kind regards, Moshi On Fri, Sep 20, 2019 at 7:45 PM ঋষি ( ऋषि / rIsHi ) <rishi.das...@gmail.com> wrote: > Here is the solution inspired by this post > https://stackoverflow.com/questions/18165863/multirow-axis-labels-with-nested-grouping-variables > > > > data$Female <- factor(data$Female, levels = > c("F1","F2","F3","F4","F5","F6","F7","F8","F9","F10")) > > > ggplot(data,aes(x=family,y=offs.surv.perct,fill=treat))+geom_bar(stat="identity", > position="dodge")+ > geom_text(aes(label = MID), angle=90)+ > facet_wrap(~Female, strip.position = "bottom", scales = "free_x",nrow=1)+ > theme(panel.spacing = unit(0, "lines"), > strip.background = element_blank(), > strip.placement = "outside") > > > On Fri, Sep 20, 2019 at 11:51 AM Moshiur Rahman <mrahmankuf...@gmail.com> > wrote: > >> Thanks Rishi, >> >> Please find attached the data herewith. >> >> >> >> On Fri, Sep 20, 2019 at 5:48 PM ঋষি ( ऋषि / rIsHi ) < >> rishi.das...@gmail.com> wrote: >> >>> There are no attached data . >>> >>> On Fri, Sep 20, 2019 at 11:40 AM Moshiur Rahman <mrahmankuf...@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@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 >>> >> >> >> -- >> Md. Moshiur Rahman, PhD >> >> 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 >> >> ......................... >> >> Professor >> Fisheries and Marine Resource Technology Discipline >> Khulna University, Khulna - 9208 >> BANGLADESH. >> Google scholar: >> https://scholar.google.com.au/citations?user=uElrJSsAAAAJ&hl=en >> ResearchGate: https://www.researchgate.net/profile/Md_Moshiur_Rahman2 >> ORCID: https://orcid.org/my-orcid >> > > > -- > > > > With regards > Rishi Das Roy > -- Md. Moshiur Rahman, PhD 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 ......................... Professor Fisheries and Marine Resource Technology Discipline Khulna University, Khulna - 9208 BANGLADESH. Google scholar: https://scholar.google.com.au/citations?user=uElrJSsAAAAJ&hl=en ResearchGate: https://www.researchgate.net/profile/Md_Moshiur_Rahman2 ORCID: https://orcid.org/my-orcid [[alternative HTML version deleted]] ______________________________________________ R-help@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.