Why is it so difficult to make things in ggplot2 , i like the way it helps in customisation but the curve is steep nevertheless 

Here is my sample dataframe 

    df <-           gene        HSC       CMP
           ENSG00000158292.6  1.8102636  2.456869
           ENSG00000162496.6  2.6796705  6.203838
           ENSG00000117115.10  3.4509115  5.555739
           ENSG00000159423.14  3.6809277  5.063446
           ENSG00000053372.4  5.7089974  6.851090

If i have plot a boxplot i can simply write this  `boxplot(df[,-1],col=c("red","blue"))`

I get a boxplot but when im trying with ggplot2 im having difficult time 


    ex <- melt(df, id.vars=c("HSC", "CMP"))
    ggplot(data = ex,
           aes(x = CMP, y = HSC)) +
      geom_boxplot()

I get a single boxplot what i want is i get a box plot for HSC and CMP which i got when i use simple base R boxplot .

Any help or suggestion would be highly appreciated  with my ggplot2 code 
    options(stringsAsFactors = F)
    df= read.csv("test.txt", sep="\t")
    library(reshape2)
    library(ggplot2)
    df_melt=melt(df,id.vars="gene")
    ggplot(df_melt, aes(variable,value)) +
      stat_boxplot(geom="errorbar", width=.5)+
      geom_boxplot(aes(fill=variable))+
      theme_bw()+
      theme(axis.title.x=element_blank(), axis.title.y=element_blank())+
      stat_summary(fun.y=median, colour="red", geom="line", aes(group = 1))+
      geom_jitter(position = position_jitter(0.2))

<a href="https://ibb.co/jeoLv6"><img src="https://preview.ibb.co/b3YW2m/Rplot.png" alt="Rplot" border="0"></a>

Input:

    > df
                    gene      HSC      CMP
    1  ENSG00000158292.6 1.810264 2.456869
    2  ENSG00000162496.6 2.679670 6.203838
    3 ENSG00000117115.10 3.450912 5.555739
    4 ENSG00000159423.14 3.680928 5.063446
    5  ENSG00000053372.4 5.708997 6.851090