title: Adding a matplotlib colorbar from a PatchCollection
body: <p>I'm converting a Shapely MultiPolygon to a PatchCollection, and first colouring each Polygon like so:</p>
  
  <pre><code># ldn_mp is a MultiPolygon
  cm = plt.get_cmap('RdBu')
  num_colours = len(ldn_mp)
  
  fig = plt.figure()
  ax = fig.add_subplot(111)
  minx, miny, maxx, maxy = ldn_mp.bounds
  w, h = maxx - minx, maxy - miny
  ax.set_xlim(minx - 0.2 * w, maxx + 0.2 * w)
  ax.set_ylim(miny - 0.2 * h, maxy + 0.2 * h)
  ax.set_aspect(1)
  
  patches = []
  for poly in ldn_mp:
      colour = cm(1. * len(filter(poly.contains, points)) / num_colours)
      patches.append(PolygonPatch(poly, fc=colour, ec='#555555', lw=0.2, alpha=1., zorder=1))
  pc = PatchCollection(patches, match_original=True)
  ax.add_collection(pc)
  ax.set_xticks([])
  ax.set_yticks([])
  plt.title("Density of NO$^2$ Sensors by Borough")
  plt.tight_layout()
  plt.show()
  </code></pre>
  
  <p>But I'd like to add a colorbar to my plot, based upon the PatchCollection colors. I'm not sure how to go about that; do I pass the <code>cmap</code> keyword when creating <code>pc</code>? How do I then call <code>set_array()</code> with the colours I've used?</p>