I would like to do a climatographe or a climat chart using ggplot.
My data look like
> data.df
   mese Temperatura.media pioggia
1   Jan              -0.3    46.6
2   Feb               2.6    40.9
3   Mar               7.1    68.5
4   Apr              11.5    72.5
5   May              15.6    92.0
6   Jun              19.1    79.6
7   Jul              21.4    79.2
8   Aug              20.6    81.2
9   Sep              17.2    85.4
10  Oct              11.3    98.9
11  Nov               4.9    93.7
12  Dec               0.8    52.1
I have
data.df$mese<-month(data.df$mese, label = T)
climagg<-ggplot(data=data.df)+
  geom_bar(aes(x=mese, y=pioggia),stat = "identity")
climagg
that give me

But I need have 2 axes one left and one right with different range (e.g. climatographe)... but it seem not easy with ggplot.
So the climat chart is may be easyer to do ... with non axes and using the multiplot fonction for ggplot
ggtheme<-theme(strip.text.x = element_text(size=14),
               strip.text.y = element_text(size=14),
               legend.title = element_text(size=14),
               panel.background = element_blank()
)
pioggiagg<-ggplot(data=data.df)+
  geom_bar(aes(x=mese.asdate, y=pioggia),stat = "identity",fill="#67a9cf")+
  geom_text(aes(x=mese.asdate, y=pioggia+3, label=pioggia),size=4)+
  theme(axis.text.y=element_blank(),
        axis.title.y = element_blank(),
        axis.ticks = element_blank(),
        axis.title.x = element_text(face="bold", size=12))+
  scale_x_discrete("")+
  ggtheme
pioggiagg
tempgg<-ggplot()+
        geom_bar(data=data.df,aes(x=mese.asdate, y=pioggia),stat = "identity",alpha=0)+
        geom_bar(data=data.df,aes(x=mese.asdate, y=temp_max),stat = "identity",alpha=0)+
        geom_bar(data=data.df,aes(x=mese.asdate, y=temp_mini),stat = "identity",alpha=0)+
        geom_rect(data=data.df,stat = "identity",aes(xmin=mese-0.4, xmax=mese+0.4,ymin=temp_mini, ymax=temp_max),fill="#ef8a62")+
        geom_text(data=data.df,aes(x=mese.asdate, y=temp_mini-3, label=temp_mini),size=4)+
        geom_text(data=data.df,aes(x=mese.asdate, y=temp_max+3, label=temp_max),size=4)+
        theme(axis.title.x = element_blank(),
              axis.title.y = element_blank(),
              axis.ticks = element_blank(),
              axis.text.x=element_blank(),
              axis.text.y=element_blank())+
        ggtheme
tempgg
multiplot(tempgg,pioggiagg,cols=1)
that give me

 
     
    
