ENH: add Bland-Altman plot
State: closed

A new (and small function) `bland_altman_plot()` to produce a [Bland-Altman plot](https://en.wikipedia.org/wiki/Bland%E2%80%93Altman_plot).

Labels:
name: Enhancement
name: Visualization
description: plotting

Comments:
Hello @josesho! Thanks for updating the PR.



Cheers ! There are no PEP8 issues in this Pull Request. :beers: 

##### Comment last updated on November 06, 2017 at 10:09 Hours UTC
@josesho : Thanks for the PR!  In the future, for requests like this, it would be preferable to open an issue to see whether there's interest in incorporating the function.

However, let's see what @TomAugspurger has to say about it.

Should the idea be accepted, you will need to add tests and a `whatsnew` entry for `0.22.0`
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=h1) Report
> Merging [#18135](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/1181622fbfc9208a906ae9e70716b83fc7b3ae5a?src=pr&el=desc) will **decrease** coverage by `0.12%`.
> The diff coverage is `2.04%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/18135/graphs/tree.svg?height=150&width=650&token=eZ4WkYLtcO&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #18135      +/-   ##
==========================================
- Coverage   91.28%   91.15%   -0.13%     
==========================================
  Files         163      163              
  Lines       50122    50171      +49     
==========================================
- Hits        45752    45732      -20     
- Misses       4370     4439      +69
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.96% <2.04%> (-0.11%)` | :arrow_down: |
| #single | `40.28% <2.04%> (-0.1%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/plotting/\_misc.py](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19taXNjLnB5) | `33.43% <2.04%> (-5.56%)` | :arrow_down: |
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `25% <0%> (-58.34%)` | :arrow_down: |
| [pandas/plotting/\_converter.py](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19jb252ZXJ0ZXIucHk=) | `63.38% <0%> (-1.82%)` | :arrow_down: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.75% <0%> (-0.1%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=footer). Last update [1181622...bb74974](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=h1) Report
> Merging [#18135](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/1181622fbfc9208a906ae9e70716b83fc7b3ae5a?src=pr&el=desc) will **decrease** coverage by `0.1%`.
> The diff coverage is `2.12%`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/18135/graphs/tree.svg?src=pr&token=eZ4WkYLtcO&width=650&height=150)](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master   #18135      +/-   ##
==========================================
- Coverage   91.28%   91.17%   -0.11%     
==========================================
  Files         163      163              
  Lines       50122    50169      +47     
==========================================
- Hits        45752    45744       -8     
- Misses       4370     4425      +55
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `88.99% <2.12%> (-0.09%)` | :arrow_down: |
| #single | `40.28% <2.12%> (-0.1%)` | :arrow_down: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/plotting/\_misc.py](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree#diff-cGFuZGFzL3Bsb3R0aW5nL19taXNjLnB5) | `33.64% <2.12%> (-5.35%)` | :arrow_down: |
| [pandas/io/gbq.py](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree#diff-cGFuZGFzL2lvL2dicS5weQ==) | `25% <0%> (-58.34%)` | :arrow_down: |
| [pandas/core/frame.py](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvZnJhbWUucHk=) | `97.75% <0%> (-0.1%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=footer). Last update [1181622...0b3b5aa](https://codecov.io/gh/pandas-dev/pandas/pull/18135?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

this is out-of-scope for pandas, might be ok for statsmodels. @TomAugspurger