html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/pull/2277#issuecomment-519627038,https://api.github.com/repos/pydata/xarray/issues/2277,519627038,MDEyOklzc3VlQ29tbWVudDUxOTYyNzAzOA==,2448579,2019-08-08T18:04:59Z,2019-08-08T18:04:59Z,MEMBER,Yeah! It owes a lot to your hard work too. Hopefully people find this useful.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-519625567,https://api.github.com/repos/pydata/xarray/issues/2277,519625567,MDEyOklzc3VlQ29tbWVudDUxOTYyNTU2Nw==,6164157,2019-08-08T18:01:03Z,2019-08-08T18:01:03Z,CONTRIBUTOR,"Thanks @dcherian !
Glad to see this finally merged","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-519579559,https://api.github.com/repos/pydata/xarray/issues/2277,519579559,MDEyOklzc3VlQ29tbWVudDUxOTU3OTU1OQ==,2448579,2019-08-08T15:57:11Z,2019-08-08T15:57:11Z,MEMBER,Merging.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-447607250,https://api.github.com/repos/pydata/xarray/issues/2277,447607250,MDEyOklzc3VlQ29tbWVudDQ0NzYwNzI1MA==,24736507,2018-12-16T00:07:36Z,2019-08-07T18:39:42Z,NONE,"Hello @yohai! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:
There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers:
##### Comment last updated at 2019-08-07 18:39:42 UTC","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-518430365,https://api.github.com/repos/pydata/xarray/issues/2277,518430365,MDEyOklzc3VlQ29tbWVudDUxODQzMDM2NQ==,6164157,2019-08-05T22:51:00Z,2019-08-05T22:51:00Z,CONTRIBUTOR,"Thanks for this
On Mon, Aug 5, 2019 at 12:04 PM Deepak Cherian
wrote:
> Yay, tests pass. I'll merge in a few days (cc @pydata/xarray
> , @yohai
> )
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> ,
> or mute the thread
>
> .
>
--
Yohai Bar Sinai
Post Doctoral Fellow
John A. Paulson School of Engineering and Applied Sciences
Harvard University
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-518295892,https://api.github.com/repos/pydata/xarray/issues/2277,518295892,MDEyOklzc3VlQ29tbWVudDUxODI5NTg5Mg==,2448579,2019-08-05T16:04:16Z,2019-08-05T16:04:16Z,MEMBER,"Yay, tests pass. I'll merge in a few days (cc @pydata/xarray, @yohai )","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-518044191,https://api.github.com/repos/pydata/xarray/issues/2277,518044191,MDEyOklzc3VlQ29tbWVudDUxODA0NDE5MQ==,2448579,2019-08-04T23:17:20Z,2019-08-04T23:17:20Z,MEMBER,"I don't know what to do about this test failure:
```
xarray/tests/test_plot.py .............................................. [ 92%]
........................................................................ [ 92%]
........................................................................ [ 93%]
...s.................................................................... [ 94%]
.........................Xx
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/_pytest/main.py"", line 213, in wrap_session
INTERNALERROR> session.exitstatus = doit(config, session) or 0
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/_pytest/main.py"", line 257, in _main
INTERNALERROR> config.hook.pytest_runtestloop(session=session)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/hooks.py"", line 289, in __call__
INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/manager.py"", line 87, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/manager.py"", line 81, in
INTERNALERROR> firstresult=hook.spec.opts.get(""firstresult"") if hook.spec else False,
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 203, in _multicall
INTERNALERROR> gen.send(outcome)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 80, in get_result
INTERNALERROR> raise ex[1].with_traceback(ex[2])
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 187, in _multicall
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/_pytest/main.py"", line 278, in pytest_runtestloop
INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/hooks.py"", line 289, in __call__
INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/manager.py"", line 87, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/manager.py"", line 81, in
INTERNALERROR> firstresult=hook.spec.opts.get(""firstresult"") if hook.spec else False,
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 208, in _multicall
INTERNALERROR> return outcome.get_result()
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 80, in get_result
INTERNALERROR> raise ex[1].with_traceback(ex[2])
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 187, in _multicall
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/_pytest/runner.py"", line 72, in pytest_runtest_protocol
INTERNALERROR> runtestprotocol(item, nextitem=nextitem)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/_pytest/runner.py"", line 87, in runtestprotocol
INTERNALERROR> reports.append(call_and_report(item, ""call"", log))
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/_pytest/runner.py"", line 171, in call_and_report
INTERNALERROR> hook.pytest_runtest_logreport(report=report)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/hooks.py"", line 289, in __call__
INTERNALERROR> return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/manager.py"", line 87, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/manager.py"", line 81, in
INTERNALERROR> firstresult=hook.spec.opts.get(""firstresult"") if hook.spec else False,
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 208, in _multicall
INTERNALERROR> return outcome.get_result()
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 80, in get_result
INTERNALERROR> raise ex[1].with_traceback(ex[2])
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/pluggy/callers.py"", line 187, in _multicall
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/_pytest/junitxml.py"", line 592, in pytest_runtest_logreport
INTERNALERROR> reporter.append_skipped(report)
INTERNALERROR> File ""/usr/share/miniconda/envs/xarray-tests/lib/python3.7/site-packages/_pytest/junitxml.py"", line 250, in append_skipped
INTERNALERROR> if xfailreason.startswith(""reason: ""):
INTERNALERROR> AttributeError: 'list' object has no attribute 'startswith'
= 7676 passed, 322 skipped, 25 xfailed, 5 xpassed, 41 warnings in 270.39 seconds =
##[error]Bash exited with code '1'.
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-505053133,https://api.github.com/repos/pydata/xarray/issues/2277,505053133,MDEyOklzc3VlQ29tbWVudDUwNTA1MzEzMw==,6164157,2019-06-24T15:11:03Z,2019-06-24T15:11:03Z,CONTRIBUTOR,@dcherian @shoyer I think it's ready to merge,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-504280891,https://api.github.com/repos/pydata/xarray/issues/2277,504280891,MDEyOklzc3VlQ29tbWVudDUwNDI4MDg5MQ==,6164157,2019-06-21T04:04:10Z,2019-06-21T04:04:10Z,CONTRIBUTOR,turns out it was an easy fix. But now I wonder if we somehow screwed up other plotting functionalities without noticing (I checked a few but found nothing),"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-504276488,https://api.github.com/repos/pydata/xarray/issues/2277,504276488,MDEyOklzc3VlQ29tbWVudDUwNDI3NjQ4OA==,6164157,2019-06-21T03:35:49Z,2019-06-21T03:36:43Z,CONTRIBUTOR,"Hold the press! we can't merge. It seems like the new functionality messes up the faceted lineplots. If we define `ds=xr.tutorial.scatter_example_dataset()` then current behavior is :
`ds.A.plot(col='x', row='w', hue='z')`:

but with the pull request we screw up the legend

I need to look at this.
Also - kinda unsettling that this was not picked up by any unit test.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-504118360,https://api.github.com/repos/pydata/xarray/issues/2277,504118360,MDEyOklzc3VlQ29tbWVudDUwNDExODM2MA==,6164157,2019-06-20T17:43:14Z,2019-06-20T17:43:14Z,CONTRIBUTOR,@dcherian @shoyer I can't seem to build the docs on my machine because of cartopy or something. Is there a way to access a built version from travis or something like that?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-504094593,https://api.github.com/repos/pydata/xarray/issues/2277,504094593,MDEyOklzc3VlQ29tbWVudDUwNDA5NDU5Mw==,6164157,2019-06-20T16:30:29Z,2019-06-20T17:07:55Z,CONTRIBUTOR,"I'll try to have a look tonight
On Thu, Jun 20, 2019, 11:30 Stephan Hoyer wrote:
> Tests seem to be failing due to lint errors, see #2277 (comment)
>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> ,
> or mute the thread
>
> .
>
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-504072683,https://api.github.com/repos/pydata/xarray/issues/2277,504072683,MDEyOklzc3VlQ29tbWVudDUwNDA3MjY4Mw==,1217238,2019-06-20T15:30:49Z,2019-06-20T15:30:49Z,MEMBER,"Tests seem to be failing due to lint errors, see https://github.com/pydata/xarray/pull/2277#issuecomment-447607250","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-504072678,https://api.github.com/repos/pydata/xarray/issues/2277,504072678,MDEyOklzc3VlQ29tbWVudDUwNDA3MjY3OA==,2448579,2019-06-20T15:30:48Z,2019-06-20T15:30:48Z,MEMBER,Maybe just read over the docs and doc strings? ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-504054857,https://api.github.com/repos/pydata/xarray/issues/2277,504054857,MDEyOklzc3VlQ29tbWVudDUwNDA1NDg1Nw==,6164157,2019-06-20T14:46:14Z,2019-06-20T14:46:14Z,CONTRIBUTOR,Anything I can do?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-504054087,https://api.github.com/repos/pydata/xarray/issues/2277,504054087,MDEyOklzc3VlQ29tbWVudDUwNDA1NDA4Nw==,1217238,2019-06-20T14:44:07Z,2019-06-20T14:44:07Z,MEMBER,"I haven't reviewed this in detail, but I wonder if we shouldn't just merge it in. This has tests and docs, and most of this has been looked over by both @dcherian and @yohai. Also, it's in a pretty self-contained part of the code (plotting). So it seems pretty slow risk to me.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-475269561,https://api.github.com/repos/pydata/xarray/issues/2277,475269561,MDEyOklzc3VlQ29tbWVudDQ3NTI2OTU2MQ==,2448579,2019-03-21T15:11:35Z,2019-03-21T15:11:35Z,MEMBER,1/2 AppVeyor tests seems to have crashed randomly.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-470238058,https://api.github.com/repos/pydata/xarray/issues/2277,470238058,MDEyOklzc3VlQ29tbWVudDQ3MDIzODA1OA==,2448579,2019-03-06T19:15:29Z,2019-03-06T19:15:29Z,MEMBER,Failed test is #2803 ,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-470113191,https://api.github.com/repos/pydata/xarray/issues/2277,470113191,MDEyOklzc3VlQ29tbWVudDQ3MDExMzE5MQ==,2448579,2019-03-06T13:48:06Z,2019-03-06T13:48:06Z,MEMBER,"I went with `markersize` but am happy to change it to `mark_size` or something else.
I think I'm done here. This is missing a legend that shows the `size` variation, but otherwise it's complete. I'd like to leave the legend to a future PR if that's OK.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-469527459,https://api.github.com/repos/pydata/xarray/issues/2277,469527459,MDEyOklzc3VlQ29tbWVudDQ2OTUyNzQ1OQ==,6164157,2019-03-05T03:56:52Z,2019-03-05T03:56:52Z,CONTRIBUTOR,"> Could we call this `mark_size` instead of `scatter_size`? The later sounds a little awkward to me.
I think [matplotlib uses `markersize`](https://matplotlib.org/api/_as_gen/matplotlib.lines.Line2D.html?highlight=markersize#matplotlib.lines.Line2D.get_markersize)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-469148347,https://api.github.com/repos/pydata/xarray/issues/2277,469148347,MDEyOklzc3VlQ29tbWVudDQ2OTE0ODM0Nw==,1217238,2019-03-04T07:36:59Z,2019-03-04T07:36:59Z,MEMBER,Could we call this `mark_size` instead of `scatter_size`? The later sounds a little awkward to me.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-463952302,https://api.github.com/repos/pydata/xarray/issues/2277,463952302,MDEyOklzc3VlQ29tbWVudDQ2Mzk1MjMwMg==,2448579,2019-02-15T08:33:45Z,2019-02-15T08:33:45Z,MEMBER,"OK PR switched to `add_guide`, this might need some reworking once we add other plotting methods for which `add_colorbar` is more sensible.
Phew! added support for `scatter_size` now.
```python
ds = xr.tutorial.scatter_example_dataset()
ds.plot.scatter(x='A', y='B', col='z', scatter_size='z')
```

","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-462211091,https://api.github.com/repos/pydata/xarray/issues/2277,462211091,MDEyOklzc3VlQ29tbWVudDQ2MjIxMTA5MQ==,6164157,2019-02-11T03:28:06Z,2019-02-11T03:40:25Z,CONTRIBUTOR,"My feeling is that ""legend"" applies to both a color bar and a discrete
legend (or other more complicated stuff too) but I am not a native English
speaker. I'm fine with whichever decision.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-462096487,https://api.github.com/repos/pydata/xarray/issues/2277,462096487,MDEyOklzc3VlQ29tbWVudDQ2MjA5NjQ4Nw==,2448579,2019-02-10T01:55:45Z,2019-02-10T01:55:45Z,MEMBER,Well I can't think of anything better than guide so shall we proceed with that?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-461113679,https://api.github.com/repos/pydata/xarray/issues/2277,461113679,MDEyOklzc3VlQ29tbWVudDQ2MTExMzY3OQ==,1217238,2019-02-06T17:33:38Z,2019-02-06T17:33:38Z,MEMBER,"> I'm not sure about this. Legends and colorbars are different and the `DataArray.plot` API has both switches: `add_legend` and `add_colorbar`.
Is there a generic term that covers both discrete legends and colorbars?
ggplot2 uses [""guide""](https://ggplot2.tidyverse.org/reference/index.html#section-guides-axes-and-legends) but I haven't seen that elsewhere. Still, `add_guide=False` could be a good way to write this genericly.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-460845732,https://api.github.com/repos/pydata/xarray/issues/2277,460845732,MDEyOklzc3VlQ29tbWVudDQ2MDg0NTczMg==,2448579,2019-02-05T23:28:39Z,2019-02-05T23:28:39Z,MEMBER,"> For non-numerical hues (or when `hue_style='discrete'`) the legend is turned off by `add_legend=False` but for numerical ones by `add_colorbar=False`, which might be not intuitive and might require manual editing in various places if you change your mind between a discrete and continuous legend. I would suggest to either unify both options to one, or make them interchangeable (if not contradicting).
I'm not sure about this. Legends and colorbars are different and the `DataArray.plot` API has both switches: `add_legend` and `add_colorbar`.
@pydata/xarray what do you all think?
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-460506195,https://api.github.com/repos/pydata/xarray/issues/2277,460506195,MDEyOklzc3VlQ29tbWVudDQ2MDUwNjE5NQ==,6164157,2019-02-05T04:09:49Z,2019-02-05T04:13:35Z,CONTRIBUTOR,"This looks great! Thanks @dcherian!
The only comment I have is with respect to the part of the API that specifies whether a legend should be drawn or not. For non-numerical hues (or when `hue_style='discrete'`) the legend is turned off by `add_legend=False` but for numerical ones by `add_colorbar=False`, which might be not intuitive and might require manual editing in various places if you change your mind between a discrete and continuous legend. I would suggest to either unify both options to one, or make them interchangeable (if not contradicting).
something like:
```python
if xor(add_legend, add_colorbar):
#decide according to plot type: if it's non-numeric or `hue_style='discrete'`
# then use value of add_legend, else use value of add_colorbar
elif add_legend or add_colorbar:
#plot legend according to current logic
```
but really there should only be one allowable keyword here I think","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-460377706,https://api.github.com/repos/pydata/xarray/issues/2277,460377706,MDEyOklzc3VlQ29tbWVudDQ2MDM3NzcwNg==,2448579,2019-02-04T19:24:23Z,2019-02-04T19:24:23Z,MEMBER,"Ok this is ready for review. I haven't added `size` yet. I think we will need to go through a deprecation cycle before doing that.
One alternative would be to have `size` not control axis height in the scatter method only. I'm not a big fan of this approach though .","{""total_count"": 1, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 1, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-452478910,https://api.github.com/repos/pydata/xarray/issues/2277,452478910,MDEyOklzc3VlQ29tbWVudDQ1MjQ3ODkxMA==,2448579,2019-01-08T22:43:52Z,2019-01-24T06:42:21Z,MEMBER,"> This generally looks good to me...
>
> I guess we still use `s=` for indicating marker size?
Yeah. We'll need to go through a deprecation cycle to rename `size` to `height`.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-451507184,https://api.github.com/repos/pydata/xarray/issues/2277,451507184,MDEyOklzc3VlQ29tbWVudDQ1MTUwNzE4NA==,1217238,2019-01-04T17:14:37Z,2019-01-04T17:14:37Z,MEMBER,"This generally looks good to me...
I guess we still use `s=` for indicating marker size?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-448672237,https://api.github.com/repos/pydata/xarray/issues/2277,448672237,MDEyOklzc3VlQ29tbWVudDQ0ODY3MjIzNw==,2448579,2018-12-19T17:10:17Z,2018-12-19T17:11:19Z,MEMBER,"I think this is ready for a preliminary review.
I've made the following changes:
1. Add a `hue_style` kwarg that can be either 'discrete' (for legend) or 'continuous' (colorbar). `add_legend, add_colorbar` turn on/off displaying the legend/colorbar which is consistent with our existing `DataArray.plot` API.
Examples:
`ds.plot.scatter(x='A', y='B', hue='x', hue_style='discrete')`

`ds.plot.scatter(x='A', y='B', hue='x', hue_style='continuous')`

2. Under the hood, scatter is always used instead of alternating between plot, scatter depending on `hue_style`.
3. Everything has been refactored out to `plot/dataset_plot.py`
Do people like `hue_style`? Or something else?
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-439959138,https://api.github.com/repos/pydata/xarray/issues/2277,439959138,MDEyOklzc3VlQ29tbWVudDQzOTk1OTEzOA==,2448579,2018-11-19T16:41:48Z,2018-11-19T16:41:48Z,MEMBER,@yohai thanks; I might make some changes in the next few weeks.,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-439954393,https://api.github.com/repos/pydata/xarray/issues/2277,439954393,MDEyOklzc3VlQ29tbWVudDQzOTk1NDM5Mw==,6164157,2018-11-19T16:28:11Z,2018-11-19T16:28:11Z,CONTRIBUTOR,"@dcherian thanks for nudging. Actually I'm in a pretty stressed time now. I will be able to pick this up in a few months, but I wouldn't mind if someone else does it in the meantime (I don't think there's a lot of work there) ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-438733826,https://api.github.com/repos/pydata/xarray/issues/2277,438733826,MDEyOklzc3VlQ29tbWVudDQzODczMzgyNg==,2448579,2018-11-14T16:50:25Z,2018-11-14T16:50:25Z,MEMBER,@yohai do you have time to pick this back up?,"{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-407341651,https://api.github.com/repos/pydata/xarray/issues/2277,407341651,MDEyOklzc3VlQ29tbWVudDQwNzM0MTY1MQ==,10050469,2018-07-24T09:25:09Z,2018-07-24T09:25:09Z,MEMBER,"Not so out of topic: https://twitter.com/michaelwaskom/status/1021428306326024193
So, let's say it: your work is highly appreciated @yohai and @dcherian ! Writing a comprehensive and (at the same time) easy to use plotting API is hard...
","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-407198140,https://api.github.com/repos/pydata/xarray/issues/2277,407198140,MDEyOklzc3VlQ29tbWVudDQwNzE5ODE0MA==,1217238,2018-07-23T20:55:41Z,2018-07-23T20:55:41Z,MEMBER,"> The reason I started this PR in the first place is that I happened to do relatively simple scatter plots quite often, so I thought it'd be handy. but for more elaborate ones I would use a dedicated tool like seaborn.
:+1: This seems like a reasonable place to draw the line to me.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-407076380,https://api.github.com/repos/pydata/xarray/issues/2277,407076380,MDEyOklzc3VlQ29tbWVudDQwNzA3NjM4MA==,6164157,2018-07-23T14:25:17Z,2018-07-23T14:25:17Z,CONTRIBUTOR,"thanks @dcherian for the review. I'll fix the code when I get to it later this week,
Regarding the size and marker style - I'm not sure it makes sense to duplicate this functionality. Is it not easier to stack the two data arrays into one, use `to_pandas` and then just use seaborn directly?
The reason I started this PR in the first place is that I happened to do relatively simple scatter plots quite often, so I thought it'd be handy. but for more elaborate ones I would use a dedicated tool like seaborn.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-406736321,https://api.github.com/repos/pydata/xarray/issues/2277,406736321,MDEyOklzc3VlQ29tbWVudDQwNjczNjMyMQ==,10050469,2018-07-20T21:53:24Z,2018-07-20T21:53:24Z,MEMBER,"I like this!
As always for plotting functionalities, one or more examples in the [gallery](http://xarray.pydata.org/en/latest/auto_gallery/index.html) would be welcome! This can be done in a subsequent PR of course.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-405450382,https://api.github.com/repos/pydata/xarray/issues/2277,405450382,MDEyOklzc3VlQ29tbWVudDQwNTQ1MDM4Mg==,1217238,2018-07-17T03:44:11Z,2018-07-17T03:44:11Z,MEMBER,"This is looking really nice. Coincidentally, the new version of Seaborn was released today, and has a whole new doc section on ""relational plots"": http://seaborn.pydata.org/tutorial/relational.html#relational-tutorial
It's probably worth a look over to see if it has good ideas worth stealing, or if we want to make intentional deviations from its behavior in xarray.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-405447950,https://api.github.com/repos/pydata/xarray/issues/2277,405447950,MDEyOklzc3VlQ29tbWVudDQwNTQ0Nzk1MA==,6164157,2018-07-17T03:26:20Z,2018-07-17T03:26:20Z,CONTRIBUTOR,"I don't have an opinion about naming variables and would be happy with whatever decision y'all make.
For the code -- I added tests and changed the logic a bit. Following @dcherian's suggestion, now the default behavior is no longer coloring hues with discrete values (legend) but rather with a continuous scale (colorbar). It does make actually more sense and I think it should also be the default behavior for regular line plots. This is the API now:
```python
A = xr.DataArray(np.zeros([3, 20, 4, 4]), dims=[ 'x', 'y', 'z', 'w'],
coords=[np.sort(np.random.randn(k)) for k in [3,20,4,4]])
ds=xr.Dataset({'A': A.x+A.y+A.z+A.w,
'B': -0.2/A.x-2.3*A.y-np.abs(A.z)**0.123+A.w**2})
ds.A.attrs['units'] = 'Aunits'
ds.B.attrs['units'] = 'Bunits'
ds.z.attrs['units'] = 'Zunits'
ds.plot.scatter(x='A', y='B')
```

Specifying `hue` creates a colorbar:
```python
ds.plot.scatter(x='A',y='B', hue='z')
```

If, however, the `hue` dimension is not numeric, then a legend is created:
```python
ds['z']= ['who', 'let','dog','out']
ds.plot.scatter(x='A',y='B', hue='z')
```

If you want a discrete legend even for numeric `hue`s, you can specify it explicitly:
```python
ds.plot.scatter(x='A',y='B', hue='w', discrete_legend=True)
```

I am a bit bothered by the fact that this is not only a different coloring method, it's a very different style altogether (under the hood using `plot` instead of `scatter`). I don't know if it's a good thing or a bad thing that the same function can produce very different looking figures. Input will be welcome about that.
Of course, faceting works as you think it should:
```python
ds.plot.scatter(x='A',y='B', hue='z',col='x')
ds.plot.scatter(x='A',y='B', hue='w',col='x', col_wrap=2)
```


","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-405289693,https://api.github.com/repos/pydata/xarray/issues/2277,405289693,MDEyOklzc3VlQ29tbWVudDQwNTI4OTY5Mw==,1217238,2018-07-16T15:38:08Z,2018-07-16T15:38:08Z,MEMBER,"It is possibly worth taking a look at the recent (not yet released) `scatterplot` (https://github.com/mwaskom/seaborn/pull/1436) and `relplot` (https://github.com/mwaskom/seaborn/pull/1477) additions to Seaborn.
`seaborn.scatterplot` will use `hue`/`size` rather than `c`/`s`, which is definitely more readable. One hazard is that it it means that the `size` argument from `seaborn.FacetGrid` needs to be renamed to avoid name conflicts -- it's now becoming `height`. Unfortunately we would also need to rename the `size` argument if we followed Seaborn's example.
I guess I can see the virtue in sticking with matplotlib's old `c`/`s` names, but those really are terrible names. Maybe `hue`/`mark_size` would be a good compromise? Or we could systematically switch `size` -> `height` elsewhere like Seaborn.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-405145682,https://api.github.com/repos/pydata/xarray/issues/2277,405145682,MDEyOklzc3VlQ29tbWVudDQwNTE0NTY4Mg==,1217238,2018-07-16T04:15:47Z,2018-07-16T04:15:47Z,MEMBER,"> You should try to emulate the pandas scatter api as much as possible (which itself emulates the matplotlib api). That means using the c keyword instead of hue and also implementing s for size.
I disagree here. In many cases, we already follow the naming conventions from Seaborn instead, which uses meaningful names. c and s are pretty meaningless.","{""total_count"": 2, ""+1"": 2, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-405081849,https://api.github.com/repos/pydata/xarray/issues/2277,405081849,MDEyOklzc3VlQ29tbWVudDQwNTA4MTg0OQ==,1197350,2018-07-15T10:31:31Z,2018-07-15T10:31:31Z,MEMBER,"This seems like a very cool and useful feature! A few comments:
- This should probably live under the `.plot` namespace, i.e. `da.plot.scatter` rather than `da.scatter`.
- You should try to emulate the pandas [scatter api](https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.DataFrame.plot.scatter.html) as much as possible (which itself emulates the matplotlib api). That means using the `c` keyword instead of `hue` and also implementing `s` for size
Happy to provide a more detailed review once the tests are implemented. ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-404161728,https://api.github.com/repos/pydata/xarray/issues/2277,404161728,MDEyOklzc3VlQ29tbWVudDQwNDE2MTcyOA==,16011037,2018-07-11T13:05:26Z,2018-07-11T13:05:26Z,CONTRIBUTOR,"Could not review pull request. It may be too large, or contain no reviewable changes.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538
https://github.com/pydata/xarray/pull/2277#issuecomment-404024984,https://api.github.com/repos/pydata/xarray/issues/2277,404024984,MDEyOklzc3VlQ29tbWVudDQwNDAyNDk4NA==,16011037,2018-07-11T02:31:09Z,2018-07-11T02:31:09Z,CONTRIBUTOR,"Could not review pull request. It may be too large, or contain no reviewable changes.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,340069538