title: How to change the legend edgecolor and facecolor in matplotlib
body: <p>Is there while <code>rcParams['legend.frameon'] = 'False'</code> a simple way to fill the legend area background with a given colour. More specifically I would like the grid not to be seen on the legend area because it disturbs the text reading.</p>
  
  <p>The keyword <code>framealpha</code> sounds like what I need but it doesn't change anything.</p>
  
  <pre><code>import matplotlib as mpl
  import matplotlib.pyplot as plt
  mpl.rcParams['legend.frameon'] = 'False'
  plt.plot(range(5), label = u"line")
  plt.grid(True)
  plt.legend(loc = best)
  plt.show()
  </code></pre>
  
  <p>I've also tried: </p>
  
  <pre><code>legend = plt.legend(frameon = 1)
  frame = legend.get_frame()
  frame.set_color('white')
  </code></pre>
  
  <p>but then I need to ask how can I change the background colour while keeping the frame on? Sometimes I want it ON with a background colour other than white. And also, is there a way of changing the colour of the frame? With the above code I was expecting to change the colour of the frame only, not the background.</p>