如何为每个群组申请&:first-child.class
?
以下代码使用geom_smooth()
,因此请在单独的图表中绘制每个组
我想整合图表,并获得一个图表。
facet_wrap()
答案 0 :(得分:10)
您必须将所有变量放在ggplot aes()
中:
ggplot(data = iris, aes(x = Sepal.Length, y = Petal.Length, color = Species)) +
geom_point() +
geom_smooth(method = "nls", formula = y ~ a * x + b, se = F,
method.args = list(start = list(a = 0.1, b = 0.1)))
答案 1 :(得分:4)
将映射.parent {
h4 {
&:first-child {
// styles
}
}
}
添加到aes(group=Species)
调用将执行您想要的操作。
基本情节:
geom_smooth()
library(ggplot2); theme_set(theme_bw())
g0 <- ggplot(data = iris, aes(x = Sepal.Length, y = Petal.Length)) +
geom_point(aes(color = Species))
:
geom_smooth
无论原始数据集中调用了哪些变量, g0 + geom_smooth(aes(group=Species),
method = "nls", formula = y ~ a * x + b, se = FALSE,
method.args = list(start = list(a = 0.1, b = 0.1)))
始终以formula
和x
表示:
y
变量是指映射到x轴的变量(x
)Sepal.Length
变量到y轴变量(y
)该模型单独与数据中的组{({1}})匹配。
如果添加具有相同效果的颜色映射(对于因子变量)(根据用于区分geoms的所有映射的交集隐式定义组),则行将适当地着色。
Petal.Length
正如@HubertL指出的那样,如果你想对所有的geoms应用相同的美学,你可以把它们放在原来的Species
电话中......
顺便说一句,我认为实际上你想要使用更复杂的 g0 + geom_smooth(aes(colour=Species),
method = "nls", formula = y ~ a * x + b, se = FALSE,
method.args = list(start = list(a = 0.1, b = 0.1)))
模型 - 否则你可以使用ggplot
并省去自己的麻烦......