title: ggplot2 legends: Adding items not in plot code to the legend & changing shapes in legend
body: <p>I have a complex plot that shows dots of different colors for patient grades in different years, and lines of different colors connecting repeated measures (the same patients) measured in the two years whose grading has changed. As you can see the legend simply lists the dots with lines for the two colors. What I need, however, is a legend that has a red dot for 2009 and a blue dot for 2016 (without lines!), as well as a red line that I can label "Upgraded" and a blue line I can label "Downgraded". So I need four legend items: 2 dots, 2 lines, 4 labels. I've done extensive searching on this, and cannot find the answer. </p>
  
  <p>Here's the plot code I used to build all the aesthetics I wanted:</p>
  
  <pre><code>sampledata &lt;- structure(list(patient = c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 5L, 
  5L, 6L, 6L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 10L, 11L, 11L, 12L, 
  12L, 13L, 13L, 14L, 14L, 15L, 15L, 16L, 16L, 17L, 17L, 18L, 18L, 
  19L, 19L), grade = structure(c(5L, 5L, 5L, 5L, 5L, 1L, 5L, 1L, 
  1L, 5L, 1L, 5L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 5L, 2L, 5L, 3L, 3L, 
  3L, 3L, 2L, 4L, 2L, 4L, 4L, 1L, 4L, 1L, 4L, 2L, 4L, 2L), .Label = c("grade_I", 
  "grade_II", "grade_III", "indeterminate", "normal"), class = "factor"), 
  year = c(2009L, 2016L, 2009L, 2016L, 2009L, 2016L, 2009L, 
  2016L, 2009L, 2016L, 2009L, 2016L, 2009L, 2016L, 2009L, 2016L, 
  2009L, 2016L, 2009L, 2016L, 2009L, 2016L, 2009L, 2016L, 2009L, 
  2016L, 2009L, 2016L, 2009L, 2016L, 2009L, 2016L, 2009L, 2016L, 
  2009L, 2016L, 2009L, 2016L)), .Names = c("patient", "grade", 
  "year"), class = "data.frame", row.names = c(NA, -38L))
  
  yearf = factor(year)
  
  gradef = factor(gradef, levels=c("normal", "grade_I", "grade_II", "grade_III", "indeterminate"))
  
  p &lt;- ggplot(data=guidegrades2, aes(x=gradef, y=patient, group=patient, color=yearf)) + 
      geom_point() + geom_line()
  p + scale_colour_brewer(palette = "Set1") + 
      labs(x = "ASE Grade", y = "Patient", color = "ASE Guidelines")
  
  pticks = p + scale_x_discrete(labels=c("grade_I" = "Grade I", "grade_II" = "Grade II",
      "grade_III" = "Grade III", "indeterminate" = "Indeterminate", "normal" = "Normal"))
  
  ptheme = pticks + theme(panel.grid.minor = element_blank(), panel.grid.major = element_blank(), panel.background = element_blank(), legend.key = element_rect(fill = "white"), axis.line = element_line(), axis.title.x=element_text(vjust=0.0001)) 
  
  paxes = ptheme + scale_colour_brewer(palette = "Set1") + 
      labs(x = "ASE Grade", y = "Patient", color = "ASE Guidelines")
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/3aTxn.png" alt="The plot in question"></p>