2016-08-02 2 views
0

매우 간단한 질문이지만 추측 할 수 없습니다.ggplot2를 사용하여 두 개의 다른 미학에 대한 고유 한 전설

4 개의 열이있는 예제 데이터 세트를 그려 보겠습니다. 나는 같은 플롯에 두 개의 다른 점을 그리기를 원합니다. 그래서 다른 미학과 함께, 그리고 각각의 색깔에 따라 그들을 설명하는 기둥 전설이 있습니다.

library(ggplot2) 

set.seed(10) 
ex <- data.frame("a" = c(1:100), "b" = rnorm(100), 
       "c" = seq(50, 249, 2), "d" = rnorm(100)) 

plot_ex <- ggplot(ex, aes(a, b)) + 
    geom_point(colour = "dodgerblue", cex = 2) + 
    geom_point(aes(x = c, y = d), colour = "firebrick3", cex = 2) + 
    theme_classic() + 
    labs(x = "X axis", y = "Y axis") 

plot_ex 

은 내가 scale_color_manual 줄을 추가했지만, 나는 아마 잘못 코딩 :

plot_ex + 
    scale_color_manual(values = c("dodgerblue", "firebrick3"), label = c("first", "second"), name = "") 

답변

0

난 단지 ggplot는 AES에 무엇을 기반으로 전설을 만들어 믿습니다. 따라서 색상을 각 geom_point의 미학으로 이동 한 다음 scale_colour_manual에서 다시 레이블을 지정할 수 있습니다.

+0

실제로 작동합니다. 감사. –

+0

이것은 나쁜 습관입니다. 좋은 방법은 데이터를 긴 형식으로 녹여서 하나의'geom_point' 호출을 사용하는 것입니다 (예를 들어 aosmith의 제안 된 사본에서 찾을 수 있습니다). – Gregor

+0

'aes '내부에서,'color ='는 명시 적 색상이 아닌 데이터 값으로 해석됩니다. 'color = "dodgerblue"를'color = 'first''또는'color = 'blah''로 바꿀 수도 있습니다. – Gregor

관련 문제