title: Adding a legend to a ggplot with facet_wrap
body: <p>I am using <a href="/questions/tagged/facet-wrap" class="post-tag" title="show questions tagged &#39;facet-wrap&#39;" rel="tag">facet-wrap</a> to show two variables (<code>a</code> and <code>b</code>) for four cities. I could group the plots based on the cities but can not show the legend for the variables (i.e., <code>a</code> and <code>b</code>) using <code>scale_color_discrete.</code></p>
  
  <pre><code>ggplot() + 
     geom_line(data=df, aes(x=year, y = a, group=city), colour="red",linetype = "longdash",show_guide = TRUE) + 
     geom_line(data=df, aes(x=year, y = b, group=city), colour="blue", show_guide = TRUE) +
     scale_color_discrete(name="Scenarios",labels=c("a" ,"b")) +
     guides(color=guide_legend(ncol=2)) +
     theme(legend.position="bottom")  +
     facet_wrap( ~ city, ncol=2) 
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/OXBeX.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/OXBeX.png" alt="enter image description here"></a></p>
  
  <p>Here is a subset of my data:</p>
  
  <pre><code>structure(list(year = c(2015, 2016, 2016, 2016, 2016, 2016, 2016, 
  2016, 2016, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2018, 
  2018, 2018), 
            city = c("Calgary", "Calgary", "Calgary", "Halifax", 
  "Halifax", "Ottawa", "Ottawa", "Yellowknife", "Yellowknife", 
  "Calgary", "Calgary", "Halifax", "Halifax", "Ottawa", "Ottawa", 
  "Yellowknife", "Yellowknife", "Calgary", "Calgary", "Halifax"), 
            a = c(25988.04, 37842.33, 37842.33, 11595.46, 11595.46, 49458.24, 
  49458.24, 185.31, 185.31, 36718.9, 36718.9, 11176.82, 11176.82, 
  47606.45, 47606.45, 176.5, 176.5, 36303.91, 36303.91, 10976.56),        
            b = c(25988.04, 37842.33, 37842.33, 11595.46, 11595.46, 49458.24, 
  49458.24, 185.31, 185.31, 36718.9, 36718.9, 11176.82, 11176.82, 
  47606.45, 47606.45, 176.5, 176.5, 36303.91, 36303.91, 10976.56
  )), row.names = c(NA, -20L), 
            class = c("grouped_df", "tbl_df", 
  "tbl", "data.frame"), vars = c("year", "city"), drop = TRUE, indices = list(
      0L, 1:2, 3:4, 5:6, 7:8, 9:10, 11:12, 13:14, 15:16, 17:18, 
      19L), 
            group_sizes = c(1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
  2L, 1L), 
            biggest_group_size = 2L, labels = structure(list(year = c(2015, 
  2016, 2016, 2016, 2016, 2017, 2017, 2017, 2017, 2018, 2018), 
             city = c("Calgary", "Calgary", "Halifax", "Ottawa", "Yellowknife", 
      "Calgary", "Halifax", "Ottawa", "Yellowknife", "Calgary", 
      "Halifax")), row.names = c(NA, -11L), class = "data.frame", vars = c("year", 
  "city"), drop = TRUE))
  </code></pre>