2015-03-23 2 views
1

Я пытаюсь построить временные ряды (y = NDVI) вместе с флагами качества (QF) в виде цветных точек при y = 0. Я хочу, чтобы временные ряды были индивидуально сгруппированы и окрашены сайтом наблюдения (ID). Проблема заключается в том, что я получаю одну единственную легенду смесительную сайты и коды QF данныхggplot: legend mixes 2 discree variables

в https://dl.dropboxusercontent.com/u/3180464/VN2014m.rda

attach("VN2014m.rda") 
head(VN2014m) 
str(VN2014m) 

С либо QF или ID результат хороший (я опускаю оси укладки и т.д.):

ggplot(data=VN2014m) + 
    geom_point(aes(x=Date,y=NDVI)) + 
    geom_point(aes(x=Date,y=QF0,group=QF,col=QF)) 

ggplot(data=VN2014m) + 
    geom_point(aes(x=Date,y=NDVI)) + 
    geom_line(aes(x=Date,y=NDVI,group=ID,col=ID)) 

Но как с ID и QF я одна смешанная легенда

ggplot(data=VN2014m) + 
    geom_point(aes(x=Date,y=NDVI)) + 
    geom_line(aes(x=Date,y=NDVI,group=ID,col=ID)) + 
    geom_point(aes(x=Date,y=QF0,group=QF,col=QF)) 

Почему? Как я могу получить две отдельные легенды, ID и QF?

ответ

1

Как насчет использования shape=QF?

ggplot(data=VN2014m) + 
    geom_point(aes(x=Date,y=NDVI)) + 
    geom_line(aes(x=Date,y=NDVI,group=ID,col=ID)) + 
    geom_jitter(aes(x=Date,y=QF0,group=QF,shape=QF), 
       size=3,position = position_jitter(height = .1)) 

enter image description here

+0

Спасибо. Должен ли я понять, что только одна переменная может быть закодирована в каждом графике? Это общее правило? – user2955884