Лучшее решение, которое я найду, это использовать функцию направляющих.На самом деле, следующий код работает:
df <- data.frame(value = rnorm(100), group = as.factor(sample(c(1, 2), size = 100, replace = T)))
ggplot(df, aes(x = value, y=value, col = group)) +
scale_color_manual(values = c("1" = "red", "2" = "blue")) +
geom_point() +
guides(colour = guide_legend(override.aes = list(shape = 15, size = 10))) +
theme(axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.title.y.right = element_blank(),
axis.ticks.x=element_blank(),
axis.ticks.y=element_blank(),
axis.text.x=element_text(angle = 45, size = 10, vjust = 0.5, face = "bold"),
axis.text.y=element_blank(),
axis.line = element_line(colour = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
plot.background=element_blank(),
legend.position="left",
legend.title = element_blank(),
legend.text = element_text(size = 16, face = "bold"),
legend.key = element_blank(),
legend.box.background = element_blank())
Мое вдохновение - это еще один пост о stackoverflow:
ggplot2 пользовательских форм легенды
Как увеличить размер точек в легенде ggplot2?