ggplot2 geom_smooth行没有显示在我的图表上

1 r ggplot2

我试图通过我的绘图数据添加一行geom_smooth,但我遇到了困难.

这是我的代码:

plot.BG = ggplot(data) + geom_point(aes(x=Mass_LT, y=BG, colour=factor(Temp.f)))   
plot.BG + geom_smooth(method="lm")

BG
#[1]  79.56304 118.63903  84.03655  95.02984  67.90585  81.39920  74.73497  95.50199
#[9]  94.51260  88.08051 110.78937  96.89154  73.96888  74.04067  70.19670  69.80033
#[17]  64.49329  76.58780  98.73740 107.75642  71.05849  98.45971 101.67881 109.35420
#[25]  79.32484  69.71360  85.94306 101.25704  87.85497 119.07206  85.72013  98.91010
#[33]  95.27523  84.89955  93.42660 112.82913 121.77451  84.56991  67.66107 102.73335

Mass_LT
#[1] 0.000 6.154 0.000 2.128 3.169 5.986 1.916 0.000 5.956 0.566 0.000 0.000 0.530 4.813
#[15] 2.943 2.645 0.605 2.747 0.726 0.000 0.479 0.000 2.195 0.000 0.000 2.636 3.057 2.777
#[29] 1.909 4.657 0.000 0.000 0.000 0.000 3.203 0.000 0.000 6.157 0.635 0.000

sort(Mass_LT)
#[1] 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
#[15] 0.000 0.000 0.479 0.530 0.566 0.605 0.635 0.726 1.909 1.916 2.128 2.195 2.636 2.645
#[29] 2.747 2.777 2.943 3.057 3.169 3.203 4.657 4.813 5.956 5.986 6.154 6.157
Run Code Online (Sandbox Code Playgroud)

Temp.f是一个有2个级别的因素,图形和点出来很好,但没有一条线,也无法弄清楚原因.任何帮助将不胜感激.

Gre*_*gor 5

定义的美学映射ggplot()由后续层继承.但是,如果在层(例如,内部geom_point())中定义的映射仅对该层是局部的.由于您希望层geom_pointgeom_smooth层都使用相同的映射,因此将它们放在初始ggplot()调用中,它们将由两者继承.

可重复使用mtcars:

# only the points are displayed
ggplot(mtcars) +
    geom_point(aes(x = hp, y = mpg, color = factor(cyl)) + 
    geom_smooth()

# you could respecify for the geom smooth, but that's repetitive
ggplot(mtcars) +
    geom_point(aes(x = hp, y = mpg, color = factor(cyl)) + 
    geom_smooth(aes(x = hp, y = mpg, color = factor(cyl))

# put the mapping up front for all layers to inherit it
ggplot(mtcars, aes(x = hp, y = mpg, color = factor(cyl)) +
    geom_point() + 
    geom_smooth()
Run Code Online (Sandbox Code Playgroud)