如何在 ggplot2 中调整 colour-shape 组合的图例?

How to adjust legend for a colour-shape combiation in ggplot2?

我想重命名这个结合形状和颜色元素的图例的标题和标签。

data <- data.frame(x = rep(seq(from=10, to=100, by=10), each=2),
                   y = runif(20,0,1),
                   group = rep(0:1,20))

data %>% 
  ggplot(aes(x=x, y=y, col=factor(group), shape=factor(group))) +
  geom_point(size=3) + geom_line()

这个我试过了postCombine legends for color and shape into a single legend

data %>% 
  ggplot(aes(x=x, y=y, col=factor(group), shape=factor(group))) +
  geom_point(size=3) + geom_line() +
  scale_colour_manual(name = "Group",
                    labels = c("A, B"),
                    values = c("blue", "red")) +   
  scale_shape_manual(name = "Group",
                     labels = c("A, B"),
                     values = c(0,1))

原则上我可以组合形状和颜色,但我需要指定新的颜色。我想保留默认值,只需更改图例的标签即可。

您可以使用 scale_color_discretescale_shape_discrete。只需为每个提供相同的 namelabels 参数。不需要规定values.

您可以看到这将保留默认的形状和颜色:

data %>% 
  ggplot(aes(x, y, col = factor(group), shape = factor(group))) +
  geom_point(size = 3) + 
  geom_line() +
  scale_color_discrete(name = "Group", labels = c("A", "B")) +
  scale_shape_discrete(name = "Group", labels = c("A", "B"))