gpt4 book ai didi

r - ggplot2绘制单个椭圆但按组着色

转载 作者:行者123 更新时间:2023-12-03 22:35:31 27 4
gpt4 key购买 nike

我的数据由多个人的多个数据点组成,这些人中的每一个都来自特定的研究地点。我想绘制所有点,为每个人绘制 95% 的椭圆,然后按研究地点为椭圆着色。不幸的是,当我指定按站点着色时,似乎为聚合组绘制了椭圆。

数据如下所示:

dat1 <- data.frame(X=rnorm(21),Y=rnorm(21),indiv_id=rep(c(1,2,3),7),group_id=rep(1,21))
dat2 <- data.frame(X=rnorm(21,5),Y=rnorm(21,5),indiv_id=rep(c(4,5,6),7),group_id=rep(2,21))
dat3 <- data.frame(X=rnorm(21,10),Y=rnorm(21,10),indiv_id=rep(c(7,8,9),7),group_id=rep(3,21))
ggdat <- rbind(dat1,dat2,dat3)
ggdat$indiv_id <- as.factor(ggdat$indiv_id)
ggdat$group_id <- as.factor(ggdat$group_id)

如果我逐个绘制椭圆,我可以分别看到所有的椭圆:
ggplot(ggdat) +
geom_point(aes(x=X, y=Y,color=indiv_id),size=1) + #
stat_ellipse(aes(x=X, y=Y,color=indiv_id),type = "norm")

individual ellipses

但如果我按组画,每组只画一个椭圆:
ggplot(ggdat) +
geom_point(aes(x=X, y=Y,color=indiv_id),size=1) + #
stat_ellipse(aes(x=X, y=Y,color=group_id),type = "norm") + #, linetype = 2
theme(legend.position='none')

group ellipses

如何绘制所有 9 个椭圆但按组着色?谢谢您的帮助!

最佳答案

明确定义组:

ggplot(ggdat) +
geom_point(aes(x=X, y=Y,color=indiv_id),size=1) + #
stat_ellipse(aes(x=X, y=Y,color=group_id, group=indiv_id),type = "norm") +
theme(legend.position='none')

enter image description here

关于r - ggplot2绘制单个椭圆但按组着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36609476/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com