COMPAT/TST Matplotlib 2.0 compatability
State: closed

- [x] closes #13333
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

Just a WIP for now, I want to cleanup how I handle the errorbar changes.

Will wait for a matplotlib RC before changing the Travis matrix I suppose? 


Labels:
name: Visualization
description: plotting
name: Compat
description: pandas objects compatability with Numpy or Python functions

Comments:
## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13662?src=pr) is 85.27% (diff: 66.66%)

> Merging [#13662](https://codecov.io/gh/pydata/pandas/pull/13662?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will decrease coverage by **<.01%**

``` diff
@@             master     #13662   diff @@
==========================================
  Files           139        139          
  Lines         50446      50452     +6   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43018      43022     +4   
- Misses         7428       7430     +2   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [df2d9ab...fdedc50](https://codecov.io/gh/pydata/pandas/compare/df2d9ab917a1ef4732cfb6c3317432f60c071074...fdedc500796f673552e771893690779b478b90b7?src=pr)

[This build](https://travis-ci.org/pydata/pandas/jobs/145822265) tested against the mpl 2.0 beta. https://travis-ci.org/pydata/pandas/jobs/145822265#L1193 Things seem to be OK.
Changed the release note to

> - Compatibility with maptlolib 2.0. Older versions of pandas should also work with matplotlib 2.0 (:issue:`13333`)

Under "Other enhancements". Look good?

Is this ready? (needs a rebase) Or do you want to wait until matplotlib has a rc release? (but we can also merge, and just update when there is one)

Let me rebase quick and run one of the builds on the mpl pre-release at  `conda install -c conda-forge/label/rc -c conda-forge matplotlib`. In theory pandas 0.18 is already compatible, it was just changes to the tests, so I'm not too worried about the test-suite being run against the RC.

There is an error in the py35 build: https://travis-ci.org/pydata/pandas/jobs/152242074, but not sure this is related to this PR

[This](https://travis-ci.org/pydata/pandas/jobs/152442785#L1400) build was the one I made to run against the beta.

As far as I can tell the two failures ([1](https://travis-ci.org/pydata/pandas/jobs/152442781) and [2](https://travis-ci.org/pydata/pandas/jobs/152442783#L1443)) are unrelated, though I don't understand why they failed. Both are linting errors (and one doesn't even look like it actually linted anythnig).

Anyone have a clue what's going on in [here](https://travis-ci.org/pydata/pandas/jobs/153939442#L1401)? The tests pass, but flake8 seems to fail with

> `pkg_resources.DistributionNotFound: The 'configparser' distribution was not found and is required by flake8`

I also saw it, I was wondering if adding conda-forge as a channel could have to do something with it? (I don't see any other changes that could cause it). You could check by removing adding the channel and only specifying the channel for the one install line of matplotlib beta.

@jorisvandenbossche that did it 🎉 (no idea why, but oh well).

https://travis-ci.org/pydata/pandas/builds/154140072 was the one run against the MPL 2.0 beta. Good to merge?

@TomAugspurger Thanks! 

Maybe it would be good to report that issue to conda-forge somewhere. There is a flake8 feedstock, so possibly something wrong there. EDIT: done -> https://github.com/conda-forge/flake8-feedstock/issues/3