Как установить альфу для линии сглаживания в ggplot

Я использую альфу, чтобы установить прозрачность для линии сглаживания в ggplot, но вместо этого я получаю прозрачность только в полосе ошибок, которая окружает подобранную линию.

Мой код следующий:

z1 <- rnorm(10)

z2 <- z1 ^ 2

error <- rnorm(10, 0.25)

y <- 1 + 0.5 * z1 + error

data1 <- data.table(y, z1, z2)

ggplot(data1) +
  geom_point(aes(x = z1, y = y), color = "blue", size = 3) +
  geom_point(aes(x = z2, y = y), color = "red", size = 3) +
  geom_smooth(method = lm, aes(x = z1, y = y), color = "blue", size = 2, alpha = 0.1) +
  geom_smooth(method = lm, aes(x = z2, y = y), color = "red", size = 2, alpha = 0.1) 

Вывод такой: введите здесь описание изображения

Как я могу явно установить прозрачность линии регрессии?

Ваш совет будет оценен.


person rf7    schedule 11.06.2017    source источник
comment
@Jaap, я не знаю протокола ссылок на внешние сайты, но на этот вопрос есть действительно хороший ответ в группах Google (но не на SO). Ссылка: groups.google.com/forum/#!topic/ggplot2. /mE__po966-k. Возможно, стоит включить его в качестве ответа для будущих читателей SO, но опять же я не знаю, осуждается ли это в SO.   -  person Mike H.    schedule 11.06.2017


Ответы (1)


Вы можете использовать geom_line для более точного управления линией регрессии.


ggplot(data1) +
  geom_point(aes(x = z1, y = y), color = "blue", size = 3) +
  geom_point(aes(x = z2, y = y), color = "red", size = 3) +
  geom_line(stat = "smooth", method = lm, aes(x = z1, y = y), color = "blue", size = 2, alpha = 0.1) +
  geom_line(stat = "smooth", method = lm, aes(x = z2, y = y), color = "red", size = 2, alpha = 0.1) +
  geom_smooth(method = lm, aes(x = z1, y = y), color = NA, size = 2, alpha = 0.1) +
  geom_smooth(method = lm, aes(x = z2, y = y), color = NA, size = 2, alpha = 0.1) 

person yeedle    schedule 11.06.2017
comment
вы также можете использовать geom_ribbon(stat = "smooth") для этих лент - person yeedle; 11.06.2017