title: How to update barchart in matplotlib?
body: <p>I have bar chart, with a lot of custom properties ( label, linewidth, edgecolor)</p>
  
  <pre><code>import matplotlib.pyplot as plt
  fig = plt.figure()
  ax  = plt.gca()
  
  x = np.arange(5)
  y = np.random.rand(5)
  
  bars = ax.bar(x, y, color='grey', linewidth=4.0)
  
  ax.cla()
  x2 = np.arange(10)
  y2 = np.random.rand(10)
  ax.bar(x2,y2)
  plt.show() 
  </code></pre>
  
  <p>With 'normal' plots I'd use <code>set_data()</code>, but with barchart I got an error: <code>AttributeError: 'BarContainer' object has no attribute 'set_data'</code></p>
  
  <p>I don't want to simply update the heights of the rectangles, I want to plot totally new rectangles. If I use ax.cla(), all my settings (linewidth, edgecolor, title..) are lost too not only my data(rectangles), and to clear many times, and reset everything makes my program laggy. If I don't use <code>ax.cla()</code>, the settings remain, the program is faster (I don't have to set my properties all the time), but the rectangles are drawn of each other, which is not good.</p>
  
  <p>Can you help me with that?</p>