Given the data below I would like to do the following:
- Color the graph by RCP.
- RCP45 is
blue
and RCP85 isred
- Historical for RCP45 is
lightblue
and Future for RCP45 isdarkblue
- RCP85 is
red
and RCP85 isred
Historical for RCP85 islightred
and Future for RCP85 isdarkred
- Ribbons for both RCPs have same colors as RCP lines but 60% transparency
- Remove the bottom legend in the plot
code
library(ggplot2)
red.bold.italic.text <- element_text(face = "bold", color = "black",size = 15)
blue.bold.italic.16.text <- element_text(face = "plain", color = "black", size = 15)
p=ggplot(datnew1, aes(x=date, y=md, group=interaction(window,rcp),colour=rcp,linetype=rcp))
geom_line(aes(linetype=rcp,colour=rcp),size=2) scale_x_discrete(limits = month.abb)
geom_ribbon(aes(ymin=lw, ymax=up,fill=rcp), alpha=0.2) scale_linetype_manual(values = c(1, 1))
theme_light(base_size = 16)
scale_colour_manual(values=c("Historical (1981-2010)"= "red","Future (2031-2060)"= "darkred","RCP45"= "blue","RCP85"= "darkblue"))
scale_fill_manual(values=c("Historical (1981-2010)"= "red","Future (2031-2060)"= "darkblue","RCP45"= "red","RCP85"= "darkblue"))
ylab("Monthly mean precipitation (mm/month)") xlab("Month")
scale_y_continuous(limits=c(10,100),breaks = seq(10,100, by = 10))
theme(legend.title = element_text(colour="black", size=18, face="plain"))
theme(legend.text = element_text(colour="black", size = 18, face = "plain"))
theme(title = red.bold.italic.text, axis.title = red.bold.italic.text)
theme(strip.text.x = element_text(size=16, color="black",face="bold"))
theme(axis.text = blue.bold.italic.16.text)
theme(axis.text.x = element_text(angle=0, vjust=0, size=14))
theme(legend.title = element_blank())
theme(legend.position = c(.3, 0.9))
Sample data:
datnew1=structure(list(lw = c(16.6753187200483, 21.4289544716693, 29.131024749619,
26.4451050660275, 25.5363745874864, 22.3100254118503, 25.3858241712341,
21.7361488263869, 21.134925285572, 20.3804263763188, 20.767810433526,
15.5624305770072, 13.6599576894344, 19.5870286217936, 29.2201276699968,
24.3653328935277, 23.9635547375874, 24.3648836173464, 25.284792696032,
24.0981382027895, 26.3242313035245, 19.7226574098932, 20.6275742530069,
18.679561555551, 16.8850809156325, 21.2416485017613, 29.7091254906665,
29.3512968472398, 26.7643800404397, 20.6036945367284, 24.5774350456584,
22.4589202159837, 22.1557012062663, 20.495616391923, 22.62870740558,
16.7107200127046, 16.170426743838, 16.0073144937242, 24.8346261566947,
27.2487638452208, 25.6803560527223, 21.9109019124414, 24.9863865086006,
24.7383114312737, 22.7988626485333, 23.1664598063168, 22.2850514748318,
19.9421651968762), md = c(34.1494507550909, 39.6340574750366,
58.9372420261637, 56.6207577019454, 43.361798347495, 31.160482158852,
38.160386009545, 37.2132524830954, 30.2698620626717, 28.6356804499872,
35.233957987861, 29.1865515841786, 29.9445633591394, 37.9819838944512,
46.1787164455896, 56.5809298666502, 40.1202806266253, 29.0590366535294,
36.2976395078549, 39.7380220888118, 31.893227328217, 28.582972070917,
34.5502887204816, 32.7807120331008, 33.3831846326674, 40.2849478591906,
59.1880289139864, 56.7037088960098, 42.8604076287803, 30.3220751690578,
40.0633676077262, 41.538719566391, 32.3030933476488, 31.174379420567,
36.3425256213667, 30.9026792967595, 36.9449594243179, 40.43510680284,
53.9008977609403, 58.8220983049378, 37.7929859091667, 32.1785521914888,
38.8379251496664, 38.9562538569509, 35.292018146711, 30.803289454849,
39.3452540375587, 31.1465430532526), up = c(49.4900589382251,
63.5308951899186, 91.531785108199, 78.220911702462, 56.2477741355009,
40.9353781062984, 68.0776004538801, 91.4958221642131, 69.7808568218521,
50.3736834930193, 47.2715591312579, 57.7095464038687, 46.5845257776357,
70.1228590164935, 95.0914019473576, 72.118497958154, 62.6482433527037,
42.779379910669, 67.4146286812892, 91.4721043772777, 60.0164597044734,
49.4663677312632, 54.2095266493516, 53.1175224882724, 50.5955437662951,
62.8873202520482, 93.587594066318, 82.2290200772622, 56.2873793191659,
36.9343197371923, 68.9496964848163, 85.3278067646245, 71.9473407588177,
48.3634645496618, 45.9028396563072, 60.1620895443098, 49.1215460984992,
58.8340089921874, 91.8655959587155, 77.7284443409707, 62.1346455191459,
44.8159579590911, 73.4015944646097, 96.9647052135439, 72.7472272047245,
55.1406035674027, 46.9831817731707, 60.0913517547588), date = c("Jan",
"Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",
"Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
"Aug", "Sep", "Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr",
"May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "Jan",
"Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",
"Nov", "Dec"), window = c("Historical (1981-2010)", "Historical (1981-2010)",
"Historical (1981-2010)", "Historical (1981-2010)", "Historical (1981-2010)",
"Historical (1981-2010)", "Historical (1981-2010)", "Historical (1981-2010)",
"Historical (1981-2010)", "Historical (1981-2010)", "Historical (1981-2010)",
"Historical (1981-2010)", "Future (2031-2060)", "Future (2031-2060)",
"Future (2031-2060)", "Future (2031-2060)", "Future (2031-2060)",
"Future (2031-2060)", "Future (2031-2060)", "Future (2031-2060)",
"Future (2031-2060)", "Future (2031-2060)", "Future (2031-2060)",
"Future (2031-2060)", "Historical (1981-2010)", "Historical (1981-2010)",
"Historical (1981-2010)", "Historical (1981-2010)", "Historical (1981-2010)",
"Historical (1981-2010)", "Historical (1981-2010)", "Historical (1981-2010)",
"Historical (1981-2010)", "Historical (1981-2010)", "Historical (1981-2010)",
"Historical (1981-2010)", "Future (2031-2060)", "Future (2031-2060)",
"Future (2031-2060)", "Future (2031-2060)", "Future (2031-2060)",
"Future (2031-2060)", "Future (2031-2060)", "Future (2031-2060)",
"Future (2031-2060)", "Future (2031-2060)", "Future (2031-2060)",
"Future (2031-2060)"), rcp = c("RCP45", "RCP45", "RCP45", "RCP45",
"RCP45", "RCP45", "RCP45", "RCP45", "RCP45", "RCP45", "RCP45",
"RCP45", "RCP45", "RCP45", "RCP45", "RCP45", "RCP45", "RCP45",
"RCP45", "RCP45", "RCP45", "RCP45", "RCP45", "RCP45", "RCP85",
"RCP85", "RCP85", "RCP85", "RCP85", "RCP85", "RCP85", "RCP85",
"RCP85", "RCP85", "RCP85", "RCP85", "RCP85", "RCP85", "RCP85",
"RCP85", "RCP85", "RCP85", "RCP85", "RCP85", "RCP85", "RCP85",
"RCP85", "RCP85")), row.names = c(NA, -48L), class = "data.frame")
CodePudding user response:
Like this?
# I prefer to define groups manually
datnew1$grp <- paste(datnew1$rcp, gsub("([a-zA-Z]*).*", "\\1", datnew1$window))
# Plot
ggplot(datnew1, aes(x=date, y=md, group=grp, color=grp))
geom_ribbon(aes(ymin=lw, ymax=up, fill=grp), alpha=0.2, color=NA)
geom_line(size=1)
scale_x_discrete(limits=month.abb)
scale_colour_manual(values=c("RCP45 Historical" = "red",
"RCP45 Future"= "darkred",
"RCP85 Historical" = "blue",
"RCP85 Future" = "darkblue"))
scale_fill_manual(values=c("RCP45 Historical" = "red",
"RCP45 Future"= "darkred",
"RCP85 Historical" = "blue",
"RCP85 Future" = "darkblue"))
ylab("Monthly mean precipitation (mm/month)")
xlab("Month")
scale_y_continuous(limits=c(10,100),breaks = seq(10,100, by = 10))
theme_light(base_size = 16)
theme(legend.position = "none")