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/4596#issuecomment-750432409,https://api.github.com/repos/pydata/xarray/issues/4596,750432409,MDEyOklzc3VlQ29tbWVudDc1MDQzMjQwOQ==,61474204,2020-12-23T19:03:26Z,2020-12-23T19:03:26Z,NONE,"OK I see, thanks for the links.
But the warning says that shading='flat' will be removed as an option only for cases where X/Y dimensions are the same as C; not in general. Sorry, maybe that's just what you meant.
But if the grid is resampled before passing to mpl, flat shading could still be used in the future and non-monotonic coordinates for plotting wouldn't be an issue- well except for the resampling itself.. but they have a good idea for solving that in that cartopy fix. If I understand correctly, their fix 1646 might solve this issue here as well then?
","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,746929580
https://github.com/pydata/xarray/issues/4596#issuecomment-750386569,https://api.github.com/repos/pydata/xarray/issues/4596,750386569,MDEyOklzc3VlQ29tbWVudDc1MDM4NjU2OQ==,61474204,2020-12-23T16:55:51Z,2020-12-23T18:47:19Z,NONE,"I believe the best (albeit tedious) solution is to resample the coordinates from nx\*ny to (nx+1)\*(ny+1) before passing the grid to pcolormesh. They should be resampled in such way that the new coordinate positions are on the corner of the quadrilateral as is expected by pcolormesh with flat shading. If only needs to be ensured that none of the 'new' quadliterals crosses the map boundary.
The problem with dropping the last row and column is that it will effectively lead to the position of the values on the map being shifted from their actual position, because pcolormesh assumes that position of value and coordinate different. (May be a minor shift in many cases but still.)
I could not find anything about mpl removing flat shading, are you sure about that?","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,746929580
https://github.com/pydata/xarray/issues/4596#issuecomment-750402407,https://api.github.com/repos/pydata/xarray/issues/4596,750402407,MDEyOklzc3VlQ29tbWVudDc1MDQwMjQwNw==,10194086,2020-12-23T17:37:07Z,2020-12-23T17:37:07Z,MEMBER,"> I could not find anything about mpl removing flat shading, are you sure about that?
It's in the deprecation warning: `MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This will become an error two minor releases later.`
> I believe the best (albeit tedious) solution is to resample the coordinates from nxny to (nx+1)(ny+1)
We are currently doing this (if the coordinates are monotonic). And mpl also started doing it (and now gives a warning on non-monotonic coordinates). The problem is that with non-monotonic coordinates it leads to wrong results.
> If only needs to be ensured that none of the 'new' quadliterals crosses the map boundary.
I think that's not trivial - see also: SciTools/cartopy#1638 and matplotlib/matplotlib#18317 and has to be fixed upstream. There is a proposed fix, see: SciTools/cartopy#1646.","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,746929580
https://github.com/pydata/xarray/issues/4596#issuecomment-730698059,https://api.github.com/repos/pydata/xarray/issues/4596,730698059,MDEyOklzc3VlQ29tbWVudDczMDY5ODA1OQ==,10194086,2020-11-19T23:18:23Z,2020-11-19T23:18:23Z,MEMBER,"Yes, this is due to an upstream change in matplotlib - see also #4364. mpl tries to infer the edges of the gridcell - which does not work if the data is not monotonic. In the short term we can fix this by passing `shading=""flat""`:
```python
ds.Tair[0].plot.pcolormesh(ax=ax, transform=ccrs.PlateCarree(), x='xc', y='yc', add_colorbar=False)
```
however, mpl will eventually remove `shading=""flat""`. I am not sure what the best way forward is. mpl recommends to drop a row and column of the data (which it did earlier automatically). See:
https://github.com/SciTools/cartopy/issues/1638#issuecomment-692741908","{""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,746929580