Для объединения легенд вы можете создать новый категориальный столбец, объединяющий обе переменные:
mtcars %>%
filter(as.numeric(cylindex)<=2) %>%
mutate(Legend = paste(cyl,cylindex, sep = ",")) %>%
ggplot(aes(x=disp, y=hp, color=Legend, shape=Legend)) +
geom_point(size=10) +
scale_color_manual(values = rep(c("red","blue","green"), each = 2))+
scale_shape_manual(values = rep(c(16,18),3))

Если вы хотите, чтобы переменные бренда были ярлык, просто используйте brand
в вашем aes
:
mtcars %>%
filter(as.numeric(cylindex)<=2) %>%
ggplot(aes(x=disp, y=hp, color=brand, shape=brand)) +
geom_point(size=10) +
scale_color_manual(values = rep(c("red","blue","green"), each = 2))+
scale_shape_manual(values = rep(c(16,18),3))

или используя scale_color_manual
и scale_shape_manual
, вы можете свяжите каждый уровень новых переменных «Легенда» со значениями «бренда»:
mtcars %>%
filter(as.numeric(cylindex)<=2) %>%
mutate(Legend = paste(cyl,cylindex, sep = ",")) %>%
ggplot(aes(x=disp, y=hp, color=Legend, shape=Legend)) +
geom_point(size=10) +
scale_color_manual(values = rep(c("red","blue","green"), each = 2),
labels = c(`6,1` = "a",`6,2` = "b", `4,1` = "c",`4,2` = "h",`8,1` = "e", `8,2` = "g"))+
scale_shape_manual(values = rep(c(16,18),3),
labels = c(`6,1` = "a",`6,2` = "b", `4,1` = "c",`4,2` = "h",`8,1` = "e", `8,2` = "g"))

Отвечает ли он на ваш вопрос?