I am using below code to plot multiple box plot but I am still struggling to understand how I can add whisker to box plot and how to change sample order like in this figure SampleType?

    library(reshape2)
    library(ggplot2)
    list.files()
    morphData <- read.table("Box.plot.chemical.txt", sep="\t", header=TRUE)
    morphData
    df.m <- melt(morphData, id.var = "SampleType")
    
    
    pdf("box.plot.pdf", width = 18, height = 12)
    
    
    p <- ggplot(data = df.m, aes(x="", y=value)) +
    
    theme_bw() +
    theme(
          panel.grid.major=element_blank(),
          panel.grid.minor=element_blank(),
          plot.title = element_text(vjust = -8.5,hjust = 0.1),
          line=element_line(size=1),
         
          axis.text.x = element_text(size = 10, face ="bold", hjust = 0.5, colour = "black"),
          axis.text.y = element_text(size = 12, face ="bold", hjust = 0.5, colour = "black"),
          axis.ticks.x = element_blank()) +
           
    
    theme(strip.background=element_rect(fill="white")) +
    theme(strip.text=element_text(color="black",face="bold", size =14)) + 
    geom_boxplot(aes(fill=SampleType),outlier.colour = NA) 
    p + facet_wrap(.~variable, scales="free") 
    dev.off();