2016-05-21 5 views
1

Я пытаюсь заполнить участок участка под линией geom_smooth().ggplot2 in R: заполнить строку geom_smooth

Пример:

An example of a fill under a curve.

В примере данных помещается на этой кривой. Мои данные не такие гладкие. Я хочу использовать geom_point() и смесь geom_smooth() и geom_area(), чтобы заполнить область под сглаженной линией, оставив точки выше.

Изображение моих данных с geom_smooth():

Male points are blue, female points are red.

Другими словами, я хочу, чтобы все под этой линией должна быть заполнена, как в Image 1.

+0

Можете ли вы предоставить [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-воспроизводимый пример/5963610) для вашего графика? Это облегчит вам помощь другим. – shreyasgm

+0

Я следующий раз. Спасибо за предложение. @shreyasgm –

ответ

3

Использование predict с тип сглаживания. geom_smooth использует loess для п < 1000 и gam при п> 1000.

library(ggplot2) 

ggplot(mpg, aes(displ, hwy)) + 
    geom_point() + 
    geom_smooth() + 
    geom_ribbon(aes(ymin = 0,ymax = predict(loess(hwy ~ displ))), 
       alpha = 0.3,fill = 'green') 

Что дает:

enter image description here

+0

Но скажем, что я хотел заполнить по полу. Вот [мои данные] (https://www.dropbox.com/sh/5poh0gpoq0wa4du/AABMmRpObK9fv7Xy7HzaC-QYa?dl=0). Я хочу создать два разных 'geom_smooth' и заполнить каждый из них синим или красным, как и мои точки в новом графике в вопросе. Я хочу, чтобы точки были только под синей линией или только под красной линией, чтобы иметь эти цвета, а все под обеими линиями - фиолетовыми. Благодаря! –

+0

Это интересный вопрос! Пожалуйста, разместите его как отдельный вопрос с [минимальным воспроизводимым примером] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) вместо редактирования исходного вопроса - ответ задействован. Вы найдете несколько указателей [здесь] (http://stackoverflow.com/questions/9789871/method-to-extract-stat-smooth-line-fit). – shreyasgm

+0

Я новичок в переполнении стека, поэтому спасибо за предложения по форматированию. Вот [новый вопрос] (http://stackoverflow.com/questions/37368778/use-geom-ribbon-for-shading-under-two-different-geom-smooth-lines). Спасибо! –

Смежные вопросы