Это потому, что вы рисуете свой многоугольник с неправильными начальными и конечными точками.Для polygon
представьте, что вы рисуете фигуру, не поднимая карандаш.Ваша начальная и конечная точки соединяются, и области в пределах значений x
и линии окрашиваются в цвет.
Таким образом, чтобы закрасить область под вашими точками, что угодно, <x
, вам нужны точки как минимум y
, максимум y
, и снаружи графика (поскольку 0
- ваш минимум, установите его на -1
и посмотрите, работает ли он) на все ваши значения x
.Поэтому, используя приведенные ниже данные, это будет c(-1,sd_10_20$foo_sd,-1)
для ваших x
значений и c(min(sd_10_20$foo_row),sd_10_20$foo_row,max(sd_10_20$foo_row))
для ваших y
значений.
sd_10_20 <- data.frame(foo_row = c(1:500), foo_w = c(runif(500, 1, 26)), foo_sd = c(runif(500, 0, 1.4)))
plot(sd_10_20$foo_sd, sd_10_20$foo_row, ylim = rev(range(50,510)), col='black', type='l', ylab='tiefe [mm]', xlab='surface density [-]')
polygon(c(-1,sd_10_20$foo_sd,-1),c(min(sd_10_20$foo_row),sd_10_20$foo_row,max(sd_10_20$foo_row)),col='darkolivegreen', border = NA, ylim = rev(range(50,510)))
![](https://i.stack.imgur.com/qtawg.png)