home / github / issues

Menu
  • GraphQL API
  • Search all tables

issues: 1188262115

This data as json

id node_id number title user state locked assignee milestone comments created_at updated_at closed_at author_association active_lock_reason draft pull_request body reactions performed_via_github_app state_reason repo type
1188262115 I_kwDOAMm_X85G03Dj 6429 FacetGrid padding goes very bad when cartopy projection specified 4502 closed 0     2 2022-03-31T15:26:26Z 2023-04-28T13:06:14Z 2023-04-28T13:06:14Z NONE      

What happened?

When doing a faceted plot and specifying a projection (via e.g. subplot_kws=dict(projection=ccrs.PlateCarree())), the padding becomes very weird (often unusable) and strangely unstable to changes in size and aspect. For example this produces very bad results:

python data = xarray.DataArray( dims=('lat', 'lon', 'row', 'col'), data=np.ones((180, 360, 2, 2)), coords={'lon': np.arange(360), 'lat': np.arange(-90, 90)} ) xarray.plot.pcolormesh( data, row='row', col='col', size=5, aspect=1.5, subplot_kws=dict(projection=ccrs.PlateCarree()), )

whereas if you change size from 5 to 4, you suddenly get a much better (although still not quite right) layout:

What did you expect to happen?

I expected a layout closer to what you get if you comment out subplot_kws=dict(projection=ccrs.PlateCarree()), above:

Minimal Complete Verifiable Example

```Python import xarray import cartopy.crs as ccrs import numpy as np

data = xarray.DataArray( dims=('lat', 'lon', 'row', 'col'), data=np.ones((180, 360, 2, 2)), coords={'lon': np.arange(360), 'lat': np.arange(-90, 90)} ) xarray.plot.pcolormesh( data, row='row', col='col', size=5, aspect=1.5, subplot_kws=dict(projection=ccrs.PlateCarree()), ) ```

Relevant log output

In the case where the layout isn't (as) broken, I see a warning:

.../xarray/plot/facetgrid.py:394: UserWarning: Tight layout not applied. tight_layout cannot make axes width small enough to accommodate all axes decorations

It seems that when tight_layout does manage to get applied, things really go wrong. Perhaps at a minimum we could have a way to disable tight_layout? (which currently seems to be mandatory)

Anything else we need to know?

No response

Environment

INSTALLED VERSIONS

commit: None python: 3.7.10 (stable, redacted, redacted) [Clang google3-trunk (e5b1b9edb8b6f6cd926c2ba3e1ad1b6f767021d6)] python-bits: 64 OS: Linux OS-release: 4.15.0-smp-920.39.0.0 machine: x86_64 processor: byteorder: little LC_ALL: en_US.UTF-8 LANG: None LOCALE: ('en_US', 'UTF-8') libhdf5: 1.12.1 libnetcdf: 4.6.1

xarray: 0.18.2 pandas: 1.1.5 numpy: 1.21.5 scipy: 1.2.1 netCDF4: 1.4.1 pydap: None h5netcdf: 0.11.0 h5py: 3.2.1 Nio: None zarr: 2.7.0 cftime: 1.0.0 nc_time_axis: None PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: None dask: None distributed: None matplotlib: 3.3.4 cartopy: 0+unknown seaborn: 0.11.1 numbagg: None pint: None setuptools: unknown pip: None conda: None pytest: None IPython: 3.2.3 sphinx: None

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/6429/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed 13221727 issue

Links from other tables

  • 3 rows from issues_id in issues_labels
  • 2 rows from issue in issue_comments
Powered by Datasette · Queries took 75.921ms · About: xarray-datasette