我有月度(长期平均值)气候数据(降水和温度),并希望使用ggplot2制作组合条(降水和降雨天数)和线图(温度),左右比例。到目前为止,它正在发挥作用。
lgj<-structure(list(Tmax = c(29.5, 30.5, 30.6, 30.6, 29.6, 29.1, 29.5,
31.5, 32.1, 31.9, 30.3, 29.8), Tmin = c(18.2, 17.7, 17.9, 16.1,
13, 10.2, 9.7, 11.4, 15, 17.2, 18.1, 18.4), Tav = c(23.2, 23.2,
23.2, 22.7, 20.7, 18.8, 18.9, 21.2, 23.2, 23.9, 23.4, 23.2),
Prec = c(244.5, 202.2, 196.2, 108.6, 38, 10.4, 5.1, 16.1,
57.3, 163.1, 185.2, 254.4), P_day = c(20L, 18L, 15L, 9L,
4L, 1L, 1L, 1L, 6L, 11L, 18L, 22L), date = structure(c(11323,
11354, 11382, 11413, 11443, 11474, 11504, 11535, 11566, 11596,
11627, 11657), class = "Date")), .Names = c("Tmax", "Tmin",
"Tav", "Prec", "P_day", "date"), row.names = c("01.01.2001",
"01.02.2001", "01.03.2001", "01.04.2001", "01.05.2001", "01.06.2001",
"01.07.2001", "01.08.2001", "01.09.2001", "01.10.2001", "01.11.2001",
"01.12.2001"), class = "data.frame")
此外,我想添加一个显示最小和最大温度的geom_ribbon,当使用geom_ribbon(aes(...,group = 1)而没有任何颜色和填充规格时,它也会起作用。
然而,根据相应月份的平均温度,给每个月的色带一个颜色会很好。 我找到了类似问题的答案: Modifying geom_ribbon borders 并尝试在此实施:
ggplot(lgj,aes(x=date,y=Prec,fill=P_day,group=date))+
geom_bar(stat="identity") +
geom_ribbon(aes(ymax=lgj$Tmax, ymin=lgj$Tmin,fill=factor(lgj$Tav), colour=factor(lgj$Tav)), alpha=0.6) +
geom_line(aes(x=lgj$date,y=lgj$Tav))
但它在我的情况下没有工作,我收到了错误:
&#34;错误:提供给连续刻度的离散值&#34;
如果我尝试删除该因子并将一个组参数添加到geom_ribbon。
ggplot(lgj,aes(x=date,y=Prec,fill=P_day,group=date)) +
geom_bar(stat="identity") +
geom_ribbon(aes(ymax=lgj$Tmax, ymin=lgj$Tmin, fill=lgj$Tav, colour=lgj$Tav,group=1), alpha=0.6) +
geom_line(aes(x=lgj$date,y=lgj$Tav))
&#34; f(...)中的错误:美学不能随着色带而变化&#34;
任何想法如何进行此项运行或可能的解决方法?