在R中使用多边形()着色线条下的区域

在R中使用多边形()着色线条下的区域,r,line,polygon,shading,R,Line,Polygon,Shading,我试图使用polygon()填充直线下的区域,但该区域在上方填充 我一直在寻找过去类似的问题,但它们要么使用predict或dnorm之类的解决方案,这似乎不适合我的情况 这是我的代码: # Playfair's chart library("HistData") data(Arbuthnot) data("Wheat") data("Wheat.monarchs") with(Wheat, { plot(x = Year, y

我试图使用polygon()填充直线下的区域,但该区域在上方填充

我一直在寻找过去类似的问题,但它们要么使用predict或dnorm之类的解决方案,这似乎不适合我的情况

这是我的代码:

# Playfair's chart
library("HistData")
data(Arbuthnot)
data("Wheat")
data("Wheat.monarchs")

with(Wheat, {
  plot(x = Year, y = Wheat, type = "s",
       ylim = c(0, 105), ylab = "Price of the Quarter of Wheat",
       panel.first = grid(col=gray(.9), lty = 1))
  lines(Year, Wages, col = "red", lwd = 2)
})

polygon(c(min(Wheat$Year), Wheat$Year, max(Wheat$Year)),
        c(0, Wheat$Wages, 0),
        col = "gray")
这是最重要的

可能是一个noob问题,但仍然不知道怎么做。
我知道我可以尝试使用ggplot2,但我想先尝试使用标准图形。

看起来你几乎就要成功了。工资中缺少值(过去3年)。如果在绘制多边形之前删除这些,则代码可以正常工作

with(Wheat[!is.na(Wheat$Wages),],
     polygon(c(min(Year), Year, max(Year)), c(0, Wages, 0),col = "gray"))