2016-09-28 4 views
0

Как добавить заголовок к графику geom_segement ниже, который имеет название «порядок работы», а под заголовком - красная строка с текстом «Тип 1» и синяя строка с текстом «Тип 2" ?Добавление легенды в geom_segement

спасибо.

df = data.frame(time1=as.POSIXct(c("2012-04-04 09:23:33","2012-04-04 11:33:55")), 
        time2=as.POSIXct(c("2012-04-04 10:05:04","2012-04-04 13:42:24")), 
        y1=c(1,2), 
        y2=c(1,2), 
        color = c("red","blue")) 
ggplot(df) + geom_segment(aes(x = time1, y = y1, xend = time2, yend = y2), 
      colour= df$color, size = 4, data = df) 

ответ

2

Карта группирование переменной color в aes и установить имя, ценности, разрывы и этикетки в scale_color_manual.

ggplot(df) + 
    geom_segment(aes(x = time1, y = y1, xend = time2, yend = y2, color = color), 
       size = 4, data = df) + 
    scale_color_manual(name = "work order", values = c("blue", "red"), 
        breaks = c("red", "blue"), labels = c("Type 1", "Type 2")) 

Вы также можете использовать scale_color_identity, что позволяет обходя установку значений, но затем нужно включить guide = "legend" как это по умолчанию для "none".

ggplot(df) + 
    geom_segment(aes(x = time1, y = y1, xend = time2, yend = y2, color = color), 
       size = 4, data = df) + 
    scale_color_identity(name = "work order", guide = "legend", 
        breaks = c("red", "blue"), labels = c("Type 1", "Type 2")) 

enter image description here