繁体   English   中英

在ggplot2中仅将stat_smooth添加到1个facet中

[英]Adding stat_smooth in to only 1 facet in ggplot2

我有一些数据,在一个因素的一个层面上,存在显着的相关性。 在另一个层面,没有。 并排绘制这些很简单。 使用stat_smooth向两个行添加一行,也很简单。 但是,我不希望在两个方面之一中显示该行或其填充。 有一个简单的方法吗? 也许以某种方式为其中一条线的填充和颜色指定一个空白颜色?

不要考虑选择一个方面,考虑将一部分数据提供给stat_smooth:

ggplot(df, aes(x, y)) +
  geom_point() + 
  geom_smooth(data = subset(df, z =="a")) + 
  facet_wrap(~ z)

当然,我后来回答了我自己的问题。 虽然,有没有更少的黑客方式来做到这一点? 我想知道是否有人可以适应不同的面板。

一种技术是使用+ scale_fill_manual和scale_colour_manual。 它们允许指定将使用的颜色。 所以,在这种情况下,让我们说你有

a<-qplot(x, y, facets=~z)+stat_smooth(method="lm", aes(colour=z, fill=z))

您可以使用以下内容指定填充和颜色的颜色。 注意,第二种颜色是清晰的,因为它使用十六进制值,最后两个数字代表透明度。 所以,00 =清楚。

a+stat_fill_manual(values=c("grey", "#11111100"))+scale_colour_manual(values=c("blue", "#11111100"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM