颜色=”;黑色“;在geom_中,使用R/PLOT2平滑更改lm线。为什么?
我的例子是用容易获得的数据制作的:颜色=”;黑色“;在geom_中,使用R/PLOT2平滑更改lm线。为什么?,r,ggplot2,R,Ggplot2,我的例子是用容易获得的数据制作的: data(Salaries, package="car") library(tidyverse) 运行时: ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank))+ geom_point() + geom_smooth(method="lm", size=0.5)+ facet_grid(~sex) 我得到了这个图,它为每个等级创建了一条lm线: 但是当我使用 ggplot(Salarie
data(Salaries, package="car")
library(tidyverse)
运行时:
ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank))+
geom_point() +
geom_smooth(method="lm", size=0.5)+
facet_grid(~sex)
我得到了这个图,它为每个等级创建了一条lm线:
但是当我使用
ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank))+
geom_point() +
geom_smooth(method="lm", colour="black", size=0.5)+
facet_grid(~sex)
该图现在显示了所有数据的唯一lm线:
知道发生了什么吗?为什么设置color=“black”会改变图形中lm线的整体外观?这是因为通过在
geom_smooth
中指定color
,您正在覆盖代码顶行中设置的美学。如果希望所有组的线条均为黑色,可以按以下方式使用geom_smooth
中的group
-美学:
ggplot(Salaries, aes(x=yrs.since.phd, y=salary, color=rank))+
geom_point() +
geom_smooth(aes(group=rank), method="lm", color = "black", size=0.5)+
facet_grid(~sex)
美学在每一层中都被重复使用:从
帮助(aes)
提供给ggplot()的美学效果用作每个层的默认值。
可以覆盖它们,或为每个层提供不同的美学效果
当你把颜色定义为等级时,ggplot就是这么做的。在调用geom_smooth
覆盖颜色设置(等级级别)时,ggplot会删除用于绘制线的等级
您可以通过使用fill
和shape=21
以及使用color
来解决此问题,如下所示:
ggplot(Salaries, aes(x=yrs.since.phd, y=salary, fill=rank))+
geom_point(shape=21) +
geom_smooth(method="lm",
color="black",
size=0.5)+
facet_grid(~sex)
将se=FALSE
添加到调用geom_smooth
将删除彩色标准错误间隔
产生此图: