我有一个包含四列的数据框,如下所示(这里我只是放置实际数据框的标题):
df <- tibble(Date=c("2007-05-01", "2007-05-02","2007-05-03", "2007-05-04", "2007-05-05"), Obs = c(0.16,0.15,0.17,0.19,0.14), Sim = c(0.17, 0.11, 0.21, 0.15, 0.13), Rain = c(0.1, 0.11, 0.04,0.21,0.5))
Run Code Online (Sandbox Code Playgroud)
如何绘制数据,使变量Obs
和Sim
绘制在主 y 轴上,并Rain
在反向辅助轴上绘制为条形?
这是我迄今为止尝试过的代码:
ggplot(df, aes(x=as.Date(Date))) +
geom_line(aes(y=Obs, color="red")) +
geom_line(aes(y=Sim, color="green")) +
geom_bar(mapping = aes(y = Rain), stat = "identity") +
scale_y_continuous(name = expression('Soil moisture, m'^"3"*' m'^"-3"),
sec.axis = sec_axis(~ 3 - .*0.5, name = "Precipitation (inch)"))
Run Code Online (Sandbox Code Playgroud)
这是我的预期输出:
编辑:此外,如何插入与每行(即 Obs、Sim 和 Rain)相对应的图例?