Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R stat_smooth all points

Tags:

r

ggplot2

From Plot vectors of different length with ggplot2, I've got my plot with lines.

ggplot(plotData, aes(x, y, label=label, group=label)) + geom_line() + stat_smooth()

But this smooths one line each. How do I smooth over all data points?

like image 501
Reactormonk Avatar asked Mar 19 '12 11:03

Reactormonk


1 Answers

ggplot(plotData, aes(x, y, label=label, group=label)) + 
    geom_line() +
    geom_smooth(aes(group = 1))

should do it. The idea here is to provide a new group aesthetic so that the fitted smoother is based on all the data, not the group = label aesthetic.

Following the example from @Andrie's Answer the modification I propose would be:

ggplot(plotData, aes(x, y, label=label, group=label)) + 
    geom_text() + 
    geom_smooth(aes(group = 1))

which would produce:

enter image description here

like image 166
Gavin Simpson Avatar answered Oct 15 '22 06:10

Gavin Simpson