R ggplot2使用曲线下方的渐变创建着色区域

R ggplot2使用曲线下方的渐变创建着色区域,r,ggplot2,R,Ggplot2,我想用ggplot创建下面的图。 有人知道在折线图下方创建阴影区域的几何图形吗? 非常感谢。 我想你只是在找geom_地区。然而,我认为这可能是一个有用的练习,看看我们可以多么接近您试图生成的图形,只使用ggplot: 非常接近。下面是生成它的代码: 资料 图书馆GGPLOT2 联吡啶酯 根据问题中的图估计的数据点: 积分我想你只是在寻找geom_区域。然而,我认为这可能是一个有用的练习,看看我们可以多么接近您试图生成的图形,只使用ggplot: 非常接近。下面是生成它的代码: 资料 图书馆GG

我想用ggplot创建下面的图。 有人知道在折线图下方创建阴影区域的几何图形吗? 非常感谢。
我想你只是在找geom_地区。然而,我认为这可能是一个有用的练习,看看我们可以多么接近您试图生成的图形,只使用ggplot:

非常接近。下面是生成它的代码:

资料

图书馆GGPLOT2 联吡啶酯 根据问题中的图估计的数据点:
积分我想你只是在寻找geom_区域。然而,我认为这可能是一个有用的练习,看看我们可以多么接近您试图生成的图形,只使用ggplot:

非常接近。下面是生成它的代码:

资料

图书馆GGPLOT2 联吡啶酯 根据问题中的图估计的数据点:
点见helpgeom_polygons见helpgeom_polygons渐变非常精彩。我很挑剔,但因为你在复制这张照片时遇到了很多麻烦,所以我会用axis.ticks=element\u blank,axis.text.y=element\u textmargin=margin0,10,0,0,unit=pt或类似的东西来完成这张照片,coord\u cartesianclip='off',可能还有libraryggplot2和geom\u AreaesFill=greencol1@谢谢你。我应该再重复一遍!我喜欢你所有的建议,并已将其纳入其中。现在看起来非常接近了。@AllanCameron感谢Allan,这对我的预期来说是太过分了,但是你创建了相同的精确图表!我印象深刻。事实上,样条插值对于我目前的工作也非常有用。再次感谢!梯度非常好。我很挑剔,但因为你在复制这张照片时遇到了很多麻烦,所以我会用axis.ticks=element\u blank,axis.text.y=element\u textmargin=margin0,10,0,0,unit=pt或类似的东西来完成这张照片,coord\u cartesianclip='off',可能还有libraryggplot2和geom\u AreaesFill=greencol1@谢谢你。我应该再重复一遍!我喜欢你所有的建议,并已将其纳入其中。现在看起来非常接近了。@AllanCameron感谢Allan,这对我的预期来说是太过分了,但是你创建了相同的精确图表!我印象深刻。事实上,样条插值对于我目前的工作也非常有用。再次感谢!
# Turns dates into a format matching the question's x axis
xlabeller <- function(d) paste(toupper(month.abb[month(d)]), year(d), sep = "\n")

# Format the numbers as per the y axis on the OP's graph
ylabeller <- function(d) ifelse(nchar(d) == 1 & d != 0, paste0("0", d), d)
ggplot(points, aes(x, y)) + 
  geom_area(data = spline_df, fill = "#80C020", alpha = 0.35) + 
  geom_hline(data = grad_df, aes(yintercept = yintercept, alpha = alpha), 
             size = 2.5, colour = "white") +
  geom_line(data = spline_df, colour = "#80C020", size = 1.2) +
  geom_point(shape = 16, size = 4.5, colour = "#80C020") +
  geom_point(shape = 16, size = 2.5, colour = "white") +
  geom_hline(aes(yintercept = 2), alpha = 0.02) +
  theme_bw() +
  theme(panel.grid.major.x = element_blank(),
        panel.grid.minor.x = element_blank(),
        panel.grid.minor.y = element_blank(),
        panel.border       = element_blank(),
        axis.line.x        = element_line(),
        text               = element_text(size = 15),
        plot.margin        = margin(unit(c(20, 20, 20, 20), "pt")),
        axis.ticks         = element_blank(),
        axis.text.y        = element_text(margin = margin(0,15,0,0, unit = "pt"))) +
  scale_alpha_identity() + labs(x="",y="") +
  scale_y_continuous(limits = c(0, 10), breaks = 0:5 * 2, expand = c(0, 0),
                     labels = ylabeller) +
  scale_x_date(breaks = "months", expand = c(0.02, 0), labels = xlabeller)