小编rag*_*hav的帖子

如何使用 ggplot2 在辅助轴上绘制具有反向条形图的多个时间序列?

我有一个包含四列的数据框,如下所示(这里我只是放置实际数据框的标题):

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)

如何绘制数据,使变量ObsSim绘制在主 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)相对应的图例?

r ggplot2

5
推荐指数
1
解决办法
1040
查看次数

标签 统计

ggplot2 ×1

r ×1