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/issues/4641#issuecomment-749323873,https://api.github.com/repos/pydata/xarray/issues/4641,749323873,MDEyOklzc3VlQ29tbWVudDc0OTMyMzg3Mw==,15331990,2020-12-22T03:55:33Z,2020-12-22T03:55:33Z,CONTRIBUTOR,"Maybe a simple fix would be to replace `np.unique` with `pd.unique` since it's ordered? ``` Hash table-based unique. Uniques are returned in order of appearance. This does NOT sort. Significantly faster than numpy.unique. Includes NA values. ``` https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.unique.html","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,755105132 https://github.com/pydata/xarray/issues/4641#issuecomment-749250751,https://api.github.com/repos/pydata/xarray/issues/4641,749250751,MDEyOklzc3VlQ29tbWVudDc0OTI1MDc1MQ==,14808389,2020-12-21T23:22:11Z,2020-12-21T23:22:11Z,MEMBER,"this is caused by the use of `np.unique` here: https://github.com/pydata/xarray/blob/de3f27553fd480e247a3f1f7d377fec0f5f2759c/xarray/plot/dataset_plot.py#L425 to fix that, I think we either need to find a way to preserve the order of `data[""hue""]` (the output of `np.unique` is sorted), or we have to use `sorted`/`np.unique` here: https://github.com/pydata/xarray/blob/de3f27553fd480e247a3f1f7d377fec0f5f2759c/xarray/plot/facetgrid.py#L384","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,755105132 https://github.com/pydata/xarray/issues/4641#issuecomment-746969091,https://api.github.com/repos/pydata/xarray/issues/4641,746969091,MDEyOklzc3VlQ29tbWVudDc0Njk2OTA5MQ==,1217238,2020-12-16T20:33:08Z,2020-12-16T20:33:08Z,MEMBER,"Ugh, this is unfortunate! Thanks for the clear example code. Coincidentally, one of collaborators ran into this same bug this morning. This sort of ""corrupted data"" bug is one of the nastiest types, so we should definitely try to prioritize a fix.","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,755105132 https://github.com/pydata/xarray/issues/4641#issuecomment-737853069,https://api.github.com/repos/pydata/xarray/issues/4641,737853069,MDEyOklzc3VlQ29tbWVudDczNzg1MzA2OQ==,42246615,2020-12-03T10:31:33Z,2020-12-03T10:42:32Z,NONE,"Here are the plots demonstrating what I mean. The “upright” rectangle (in the intervals [0, 0.5] and [0, 2]) of points represents the data corresponding to category ""A"". However, it is colored in blue, which corresponds to category ""B"". The order of labels in the legend is correct in the sense that it conserves the order in the Dataset. ![wrong_color_assignment](https://user-images.githubusercontent.com/42246615/100996305-30155d00-3559-11eb-8d22-360625b977f1.png) In the second image, the color assignment in the plot is correct – data corresponding to category ""A"" is still colored in blue but that now corresponds to category ""A"". The legend is now alphabetically ordered instead of conserving the order the category coordinate in the Dataset. ![correct_color_assignment](https://user-images.githubusercontent.com/42246615/100996482-63f08280-3559-11eb-9dc4-5af69e9db50d.png)","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,755105132 https://github.com/pydata/xarray/issues/4641#issuecomment-737617144,https://api.github.com/repos/pydata/xarray/issues/4641,737617144,MDEyOklzc3VlQ29tbWVudDczNzYxNzE0NA==,1217238,2020-12-03T02:18:20Z,2020-12-03T02:18:20Z,MEMBER,"could you share an image showing what the incorrect plot(s) looks like? you should be able to ""paste"" into the comment field in GitHub","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,755105132 https://github.com/pydata/xarray/issues/4641#issuecomment-737190620,https://api.github.com/repos/pydata/xarray/issues/4641,737190620,MDEyOklzc3VlQ29tbWVudDczNzE5MDYyMA==,42246615,2020-12-02T12:09:48Z,2020-12-02T12:09:48Z,NONE,"As my original plot still was wrong after updating I investigated a bit further: The problem persists when also faceting. Here is my new example where, again, data of category ""A"" get colored as ""B"" and vice versa. ```python import xarray as xr import numpy as np u = np.random.rand(50, 2, 2) * np.array([1, 2]) v = np.random.rand(50, 2) * np.array([1, 0.5]) ds = xr.Dataset( { ""u"": ((""x"", ""foo"", ""category""), u), ""v"": ((""x"", ""category""), v), }, coords={""category"": [""B"", ""A""], ""foo"": [1, 2]} ) g = ds.plot.scatter( y=""u"", x=""v"", hue=""category"", col=""foo"" ); ``` I am sorry for the confusion.
Output of `xr.show_versions()` INSTALLED VERSIONS ------------------ commit: None python: 3.7.8 | packaged by conda-forge | (default, Nov 27 2020, 19:24:58) [GCC 9.3.0] python-bits: 64 OS: Linux OS-release: 4.15.0-122-generic machine: x86_64 processor: x86_64 byteorder: little LC_ALL: None LANG: en_US.UTF-8 LOCALE: en_US.UTF-8 libhdf5: 1.10.6 libnetcdf: 4.7.4 xarray: 0.16.2 pandas: 1.1.2 numpy: 1.17.5 scipy: 1.5.3 netCDF4: 1.5.4 pydap: None h5netcdf: None h5py: 2.10.0 Nio: None zarr: 2.4.0 cftime: 1.3.0 nc_time_axis: None PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: None dask: 2.26.0 distributed: 2.30.1 matplotlib: 3.3.2 cartopy: None seaborn: 0.11.0 numbagg: None pint: None setuptools: 49.6.0.post20201009 pip: 20.3 conda: 4.8.3 pytest: 6.0.1 IPython: 7.19.0 sphinx: None
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,755105132 https://github.com/pydata/xarray/issues/4641#issuecomment-737127510,https://api.github.com/repos/pydata/xarray/issues/4641,737127510,MDEyOklzc3VlQ29tbWVudDczNzEyNzUxMA==,42246615,2020-12-02T10:05:21Z,2020-12-02T10:05:21Z,NONE,"After updating xarray to 0.16.2, the colors in the plot agree with the colors in the legend, so the error indicated above does not persist. We can probably close this issue. However, this seems to be achieved not by changing the colors in the plot but by sorting the legend as well. That is, the order of the category variable in the legend is `[""A"", ""B""]`, although I specified it to be `[""B"", ""A""]` in the dataset. I am not sure if this is an intended behaviour?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,755105132