DataFrame histogram plot error with bins='auto'
Hi,

Im having a problem using pandas.plot.hist with the bins argument set to 'auto'.
I'm on os x, with the following package versions installed:

pandas: '0.25.3'
numpy: '1.17.2'
matplotlib: '3.1.1'


This error happens if I'm in jupyterlab, notebook, python or ipython.

#### Here's what produces the error:

```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

test_data = np.random.randint(0, 100, 10000)
dataset = pd.DataFrame({'test': test_data})

dataset.plot.hist(bins='auto')
```

#### Output of the above code:

<details>

ValueError                                Traceback (most recent call last)
<ipython-input-16-520a066d2367> in <module>
      6 dataset = pd.DataFrame({'test': test_data})
      7
----> 8 dataset.plot.hist(bins='auto')

~/anaconda3/envs/default/lib/python3.7/site-packages/pandas/plotting/_core.py in hist(self, by, bins, **kwargs)
   1123             >>> ax = df.plot.hist(bins=12, alpha=0.5)
   1124         """
-> 1125         return self(kind="hist", by=by, bins=bins, **kwargs)
   1126
   1127     def kde(self, bw_method=None, ind=None, **kwargs):

~/anaconda3/envs/default/lib/python3.7/site-packages/pandas/plotting/_core.py in __call__(self, *args, **kwargs)
    792                     data.columns = label_name
    793
--> 794         return plot_backend.plot(data, kind=kind, **kwargs)
    795
    796     def line(self, x=None, y=None, **kwargs):

~/anaconda3/envs/default/lib/python3.7/site-packages/pandas/plotting/_matplotlib/__init__.py in plot(data, kind, **kwargs)
     60             kwargs["ax"] = getattr(ax, "left_ax", ax)
     61     plot_obj = PLOT_CLASSES[kind](data, **kwargs)
---> 62     plot_obj.generate()
     63     plot_obj.draw()
     64     return plot_obj.result

~/anaconda3/envs/default/lib/python3.7/site-packages/pandas/plotting/_matplotlib/core.py in generate(self)
    279         self._compute_plot_data()
    280         self._setup_subplots()
--> 281         self._make_plot()
    282         self._add_table()
    283         self._make_legend()

~/anaconda3/envs/default/lib/python3.7/site-packages/pandas/plotting/_matplotlib/hist.py in _make_plot(self)
     81
     82             kwds = self._make_plot_keywords(kwds, y)
---> 83             artists = self._plot(ax, y, column_num=i, stacking_id=stacking_id, **kwds)
     84             self._add_legend_handle(artists[0], label, index=i)
     85

~/anaconda3/envs/default/lib/python3.7/site-packages/pandas/plotting/_matplotlib/hist.py in _plot(cls, ax, y, style, bins, bottom, column_num, stacking_id, **kwds)
     60         bottom = bottom + cls._get_stacked_values(ax, stacking_id, base, kwds["label"])
     61         # ignore style
---> 62         n, bins, patches = ax.hist(y, bins=bins, bottom=bottom, **kwds)
     63         cls._update_stacker(ax, stacking_id, n)
     64         return patches

~/anaconda3/envs/default/lib/python3.7/site-packages/matplotlib/__init__.py in inner(ax, data, *args, **kwargs)
   1599     def inner(ax, *args, data=None, **kwargs):
   1600         if data is None:
-> 1601             return func(ax, *map(sanitize_sequence, args), **kwargs)
   1602
   1603         bound = new_sig.bind(ax, *args, **kwargs)

~/anaconda3/envs/default/lib/python3.7/site-packages/matplotlib/axes/_axes.py in hist(self, x, bins, range, density, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, normed, **kwargs)
   6841                 patch = _barfunc(bins[:-1]+boffset, height, width,
   6842                                  align='center', log=log,
-> 6843                                  color=c, **{bottom_kwarg: bottom})
   6844                 patches.append(patch)
   6845                 if stacked:

~/anaconda3/envs/default/lib/python3.7/site-packages/matplotlib/__init__.py in inner(ax, data, *args, **kwargs)
   1599     def inner(ax, *args, data=None, **kwargs):
   1600         if data is None:
-> 1601             return func(ax, *map(sanitize_sequence, args), **kwargs)
   1602
   1603         bound = new_sig.bind(ax, *args, **kwargs)

~/anaconda3/envs/default/lib/python3.7/site-packages/matplotlib/axes/_axes.py in bar(self, x, height, width, bottom, align, **kwargs)
   2373         x, height, width, y, linewidth = np.broadcast_arrays(
   2374             # Make args iterable too.
-> 2375             np.atleast_1d(x), height, width, y, linewidth)
   2376
   2377         # Now that units have been converted, set the tick locations.

<__array_function__ internals> in broadcast_arrays(*args, **kwargs)

~/anaconda3/envs/default/lib/python3.7/site-packages/numpy/lib/stride_tricks.py in broadcast_arrays(*args, **kwargs)
    262     args = [np.array(_m, copy=False, subok=subok) for _m in args]
    263
--> 264     shape = _broadcast_shape(*args)
    265
    266     if all(array.shape == shape for array in args):

~/anaconda3/envs/default/lib/python3.7/site-packages/numpy/lib/stride_tricks.py in _broadcast_shape(*args)
    189     # use the old-iterator because np.nditer does not handle size 0 arrays
    190     # consistently
--> 191     b = np.broadcast(*args[:32])
    192     # unfortunately, it cannot handle 32 or more arguments directly
    193     for pos in range(32, len(args), 31):

ValueError: shape mismatch: objects cannot be broadcast to a single shape

</details>


Thanks for any help with this. I think it may be specific to os x, I didn't used to see this error in windows/linux (although I don't have access to test this out on other systems currently to confirm this)