Я хочу сделать xy-график из вложенных групп (Группа и Подгруппа), где точки окрашены по Группе и имеют форму по Подгруппе. Ниже приведен минимальный пример:
DATA<-data.frame(
Group=c(rep("group1",10),rep("group2",10),rep("group3",10) ),
Subgroup = c(rep(c("1.1","1.2"),5), rep(c("2.1","2.2"),5), rep(c("3.1","3.2"),5)),
x=c(rnorm(10, mean=5),rnorm(10, mean=10),rnorm(10, mean=15)),
y=c(rnorm(10, mean=3),rnorm(10, mean=4),rnorm(10, mean=5))
)
ggplot(DATA, aes(x=x, y=y,colour=Group, shape=Subgroup) ) +
geom_point(size=3)
Однако, поскольку в действительности у меня гораздо больше подгрупп, чем можно легко определить на основе имеющихся формы, которые я хочу повторить в каждой группе одинаковые формы. Ниже приведен тот же код, но с дополнительным столбцом (Shape), определяющим форму:
DATA<-data.frame(
Group=c(rep("group1",10),rep("group2",10),rep("group3",10) ),
Subgroup = c(rep(c("1.1","1.2"),5), rep(c("2.1","2.2"),5), rep(c("3.1","3.2"),5)),
Shape = as.character(c(rep(c(1,2),15) ) ),
x=c(rnorm(10, mean=5),rnorm(10, mean=10),rnorm(10, mean=15)),
y=c(rnorm(10, mean=3),rnorm(10, mean=4),rnorm(10, mean=5))
)
ggplot(DATA, aes(x=x, y=y,colour=Group, shape=Shape) ) +
geom_point(size=3)
Теперь формы и цвета такие, как я хочу их. Однако легенда больше не перечисляет подгруппы. То, что я хочу, это легенда, в которой перечислены все подгруппы в каждой соответствующей группе. Что-то вроде:
(В идеале это будет одна вложенная легенда. Если вложенные легенды невозможны, возможно, это могут быть три отдельные легенды с группами в качестве заголовков)
Это то, что может быть достигнуто и как?
Спасибо