title: Why isn't pandas df.plot.bar() accepting an array for width?
body: <p>Per the <a href="https://matplotlib.org/api/_as_gen/matplotlib.pyplot.barh.html" rel="nofollow noreferrer">documentation</a>, matplotlib's <code>bar</code> and <code>barh</code> accept a single value or an array of widths, one for each bar. I've seen examples of this around. However, it's not working when using the pandas wrapper, and the stack trace suggests that the arithmetic which checks for the x-limits (y-limits, respectively, for <code>barh</code>) can't handle multiple widths. What's going on? </p>
  
  <pre><code>import pandas as pd
  import matplotlib.pyplot as plt
  
  # Minimum reproducible bug
  df = pd.DataFrame({'value': [3,5,4], 'width': [0.1, 0.5, 1.0]})
  plt.close('all')
  fig, ax = plt.subplots(1,3)
  df.plot.barh(ax=ax[0], width=0.9, stacked=True)  # Base case
  df.plot.bar(ax=ax[1], width=df.width.values)     # Throws error after drawing bars, before setting x-limits
  df.plot.barh(ax=ax[2], width=df.width.values)    # (Analogous to above)
  </code></pre>