Как удалить серую заливку по умолчанию для легенды типа линий в штриховом графике с помощью ggplot2? - PullRequest
1 голос
/ 14 июля 2020

У меня есть гистограмма с двумя разными переменными. Для одного из факторов (gr) я выбрал другой «линтип» в сюжете. Легенда для «gr» показывает «lintype», но с темно-серой заливкой, что, я думаю, сбивает с толку.

Кто-нибудь знает, как удалить заливку или изменить ее на белый или прозрачный? (Все советы, которые я нашел, меняют только фон легенды, но не влияют на серую заливку)

    yval <- c(3, 7, 4, 4, 8, 9, 4, 7, 9, 6, 6, 3)
trt <- rep(c("A", "B", "C"), times=4)
gr <- rep(c(rep(("case"), times = 3), rep(("control"), times = 3)), times = 2)
var <- c(rep(("var1"), times = 6), rep(("var2"), times = 6))  
df <- data.frame(yval, device, ccgroup, var)

ggplot(data=df, aes(x=var)) +
  geom_bar( color = "black", size = 1, aes(weights = yval, fill = trt, linetype = gr) , position = "dodge")

Ее сюжет

1 Ответ

4 голосов
/ 14 июля 2020

Это может быть достигнуто, например, с помощью guide_legend, который позволяет вам установить цвет заливки, используемый в легенде. Попробуйте это:

library(ggplot2)

yval <- c(3, 7, 4, 4, 8, 9, 4, 7, 9, 6, 6, 3)
trt <- rep(c("A", "B", "C"), times=4)
gr <- rep(c(rep(("case"), times = 3), rep(("control"), times = 3)), times = 2)
var <- c(rep(("var1"), times = 6), rep(("var2"), times = 6))  
df <- data.frame(yval, trt, gr, var)

ggplot(data=df, aes(x=var)) +
  geom_bar(color = "black", size = 1, aes(weights = yval, fill = trt, linetype = gr) , position = "dodge") +
  guides(linetype = guide_legend(override.aes = list(fill = c(NA, NA))))
#> Warning: Ignoring unknown aesthetics: weights

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...