2015-08-20 3 views
1

Мои данные выглядит примерно так:добавить альфа-легенду ggplot2 график рассеяния

DF <- data.frame(
    x = rnorm(100, mean = 0, sd = 1), 
    y = rnorm(n = 100, mean = 1, sd = 1), 
    color = sample(
    x = c('red', 'blue'), size = 100, replace = T, prob = c(.5,.5) 
), 
    alpha = runif(n = 100, min = 0.1, max = 1) 
) 

Я хочу, чтобы создать график рассеяния, и я хочу только легенда на графике, чтобы быть alpha, непрерывная переменная, которая может принимать значения от 0,1 до 1.

Это то, что я прямо сейчас:

DF %>% 
    ggplot(aes(
    x = x, y = y, color = color, size = 2, alpha = alpha 
)) + 
    geom_point(show_guide = TRUE) + theme_bw() 

возможно ли это?

ответ

1

Попробуйте это:

DF %>% 
    ggplot(aes(x = x, y = y, color = color, alpha = alpha),size = 2) + 
    geom_point() + 
    guides(color = "none") + 
    theme_bw() 
+0

Почти легенда принимает 3 значения вместо непрерывного. Это исправление? – Ignacio

+0

@Ignacio Я не верю, что вы можете сделать «colorbar» руководство для альфы на данный момент. – joran

+2

@Ignacio Я могу увидеть способ внести небольшие изменения, которые позволят использовать цветную полосу для альфа-шкал. Если у меня будет некоторое время спустя, я попытаюсь собрать запрос на растяжение, и мы увидим, что произойдет. – joran

0

Я не в состоянии получить alpha в непрерывной шкале, но легенды для color и size могут быть удалены путем установки их направляющие FALSE.

DF %>% 
    ggplot(aes(
     x = x, y = y, color = color, size = 2, alpha = alpha 
    )) + 
    geom_point(show_guide = TRUE) + theme_bw() + 
scale_size(guide = FALSE) + 
scale_color_discrete(guide = FALSE) 
Смежные вопросы