The show.legend
argument seems to work correctly to control legends for multiple variables when the variables are categorical (see first two examples below), but not when a numerical variable is included (see last example):
library(tidyverse)
my_tibble <-
tibble(
c = rep(c('A', 'B'), 2),
d = letters[1:4],
x = c(1, 1, 3, 3),
y = c(1, 3, 1, 3)
)
my_tibble %>%
ggplot(aes(x, y)) +
geom_point(aes(color = c, shape = d)
, size = 2
, show.legend =
c(
'color' = TRUE,
'shape' = FALSE
)
) +
xlim(0, 4) +
ylim(0, 4)
my_tibble %>%
ggplot(aes(x, y)) +
geom_point(aes(color = c, shape = d)
, size = 2
, show.legend =
c(
'color' = FALSE,
'shape' = TRUE
)
) +
xlim(0, 4) +
ylim(0, 4)
my_tibble %>%
ggplot(aes(x, y)) +
geom_point(aes(color = x, shape = d)
, size = 2
, show.legend =
c(
'color' = TRUE,
'shape' = FALSE
)
) +
xlim(0, 4) +
ylim(0, 4)
Created on 2020-02-02 by the reprex package (v0.3.0)
Aside from the possible bug, is this a good approach to managing multiple legends, or is there a better way?