Can I combine an area graph and bar graph in the same plot?

112 Views Asked by At

I want to build a graph with two different information: I want to show in an area graph some information (as background: I, II, and III Quartil) and different information as a bar chart (2013_Cases).

My data looks like this:

County  Epidemiological_Week    Quartil Cases
Alajuela    1   I   114.6142048
Alajuela    2   I   243.2065231
Alajuela    3   I   194.9624170
Alajuela    1   II  243.5355373
Alajuela    2   II  206.6849481
Alajuela    3   II  224.1548347
Alajuela    1   III 218.2216145
Alajuela    2   III 244.0454089
Alajuela    3   III 186.7701513
Alajuela    1   2013_Cases  243.2889834
Alajuela    2   2013_Cases  159.3755736
Alajuela    3   2013_Cases  165.0704465

I want to plot something like this (I made this in Exel):

enter image description here

So, I wrote my code as follows:

AreaAlajuela <- subset(Alajuela, Quartil!="2013_Cases")
BarraAlajuela <- filter(Alajuela, Quartil=="2013_Cases")
AreaAlajuela$Quartil <- factor(AreaAlajuela$Quartil, levels = c("III", "II", "I"))
cAlajuela <- ggplot(AreaAlajuela, aes(x=Epidemiological_Week, y= Cases, fill=Quartil)) + geom_area()
cAlajuela2 <- cAlajuela + scale_fill_manual(values=c("red", "yellow", "green")) 
cAlajuela3 <- cAlajuela2 + scale_x_continuous("Epidemiological weeks", labels= as.numeric(AreaAlajuela$Epidemiological_Week), breaks = as.numeric(AreaAlajuela$Epidemiological_Week))
cAlajuela4 <- cAlajuela3 + theme_bw() + theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank())
cAlajuela4
cAlajuela5 <- cAlajuela4 + geom_col(aes(x=as.numeric(BarraAlajuela$Epidemiological_Week), y=as.numeric(BarraAlajuela$Cases), size=1, color="black", fill="black" )) 
cAlajuela5

But I received this error: Error: Aesthetics must be either length 1 or the same as the data (156): x and y and don't know how to fix it!

Since now, thanks for your help!

0

There are 0 best solutions below