Inconsistent indexes for tick label plotting
The tick position for BarPlot can be define using the convert tool from matplotlib.

The main advantage is that it will reuse the same position when you have text as axis values. Previously, the tick position was determined by the order of the given element, so that ['A', 'B'] where given label [0, 1], and if updating the plot with order ['B', 'A'], you will not draw at the right position.
### 
The resulting plot for each issue would be:
![issue26186](https://user-images.githubusercontent.com/49879400/65983815-b24e5100-e47e-11e9-87c5-8c536744da28.png)
![issue11465](https://user-images.githubusercontent.com/49879400/65983825-b8443200-e47e-11e9-954d-76919e96c38f.png)
- [x] closes #26186
- [x] closes #11465
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry
