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 94787306,MDU6SXNzdWU5NDc4NzMwNg==,470,add scatter plot method to dataset,5356122,closed,0,,,5,2015-07-13T18:58:17Z,2022-02-06T17:15:46Z,2019-08-08T15:57:17Z,MEMBER,,,,"Follow up on original plotting ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/470/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 96103270,MDU6SXNzdWU5NjEwMzI3MA==,482,DataArray constructor allow iterables,5356122,closed,0,,,1,2015-07-20T16:28:40Z,2019-03-03T15:23:58Z,2019-03-03T15:23:58Z,MEMBER,,,,"The DataArray currently requires a sequence for the `coords` and `dims`. This could be generalized to allow passing iterables. Currently this raises a ValueError: ``` b = xray.DataArray(np.random.randn(3, 4), dims=(x for x in ('a', 'b'))) ``` If iterables were allowed it would work. This comes up more often in Python 3. Some conversation in #466 ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/482/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 97554858,MDU6SXNzdWU5NzU1NDg1OA==,497,Better error message when reading netCDF4 file and netCDF4 not installed,5356122,closed,0,,,7,2015-07-27T21:07:49Z,2019-02-01T15:20:46Z,2017-05-25T02:06:07Z,MEMBER,,,,"Trying to load a file without netcdf4 dependency: ``` xray.open_dataset('20150629_ave_mrr.nc') ... --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /Users/clark.fitzgerald/projects/mrr/june29_analysis.py in () 7 import xray 8 ----> 9 mrr = xray.open_dataset('20150629_ave_mrr.nc') /Users/clark.fitzgerald/anaconda/envs/xray_dev/lib/python2.7/site-packages/xray-0.5.2_98_g69f7386-py2.7.egg/xray/backends/api.pyc in open_dataset(filename_or_obj, group, decode_cf, mask_and_scale, decode_times, concat_characters, decode_coords, engine, chunks, lock) 166 store = backends.NetCDF4DataStore(filename_or_obj, group=group) 167 elif engine == 'scipy': --> 168 store = backends.ScipyDataStore(filename_or_obj) 169 elif engine == 'pydap': 170 store = backends.PydapDataStore(filename_or_obj) /Users/clark.fitzgerald/anaconda/envs/xray_dev/lib/python2.7/site-packages/xray-0.5.2_98_g69f7386-py2.7.egg/xray/backends/scipy_.pyc in __init__(self, filename_or_obj, mode, format, group, writer, mmap) 95 filename_or_obj = BytesIO(filename_or_obj) 96 self.ds = scipy.io.netcdf_file( ---> 97 filename_or_obj, mode=mode, mmap=mmap, version=version) 98 super(ScipyDataStore, self).__init__(writer) 99 /Users/clark.fitzgerald/anaconda/envs/xray_dev/lib/python2.7/site-packages/scipy/io/netcdf.pyc in __init__(self, filename, mode, mmap, version) 216 217 if mode == 'r': --> 218 self._read() 219 220 def __setattr__(self, attr, value): /Users/clark.fitzgerald/anaconda/envs/xray_dev/lib/python2.7/site-packages/scipy/io/netcdf.pyc in _read(self) 506 if not magic == b'CDF': 507 raise TypeError(""Error: %s is not a valid NetCDF 3 file"" % --> 508 self.filename) 509 self.__dict__['version_byte'] = fromstring(self.fp.read(1), '>b')[0] 510 TypeError: Error: 20150629_ave_mrr.nc is not a valid NetCDF 3 file ``` It would be more helpful to suggest that the user install netcdf4. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/497/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 105649801,MDU6SXNzdWUxMDU2NDk4MDE=,565,Better error message for tutorial dataset not found,5356122,closed,0,,,1,2015-09-09T17:55:26Z,2019-01-15T21:20:53Z,2019-01-15T21:20:53Z,MEMBER,,,,"Here's what happens when you try to load a dataset that doesn't exist: ``` In [13]: a = xray.tutorial.load_dataset('air_temperatures') --------------------------------------------------------------------------- RuntimeError Traceback (most recent call last) in () ----> 1 a = xray.tutorial.load_dataset('air_temperatures') /Users/clark.fitzgerald/dev/xray/xray/tutorial.pyc in load_dataset(name, cache, cache_dir, github_url, **kws) 53 _urlretrieve(url, localfile) 54 ---> 55 ds = _open_dataset(localfile, **kws).load() 56 57 if not cache: /Users/clark.fitzgerald/dev/xray/xray/backends/api.pyc in open_dataset(filename_or_obj, group, decode_cf, mask_and_scale, decode_times, concat_characters, decode_coords, engine, chunks, lock, drop_variables) 169 allow_remote=True) 170 if engine == 'netcdf4': --> 171 store = backends.NetCDF4DataStore(filename_or_obj, group=group) 172 elif engine == 'scipy': 173 store = backends.ScipyDataStore(filename_or_obj) /Users/clark.fitzgerald/dev/xray/xray/backends/netCDF4_.pyc in __init__(self, filename, mode, format, group, writer, clobber, diskless, persist) 133 ds = nc4.Dataset(filename, mode=mode, clobber=clobber, 134 diskless=diskless, persist=persist, --> 135 format=format) 136 with close_on_error(ds): 137 self.ds = _nc4_group(ds, group, mode) netCDF4/_netCDF4.pyx in netCDF4._netCDF4.Dataset.__init__ (netCDF4/_netCDF4.c:9551)() RuntimeError: NetCDF: Unknown file format In [14]: a = xray.tutorial.load_dataset('air_temperature') In [15]: ``` This could leave a bad first impression for someone trying the library. Better to see something like: `IOerror: No such file. Try one of ['air_temperature', ...]` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/565/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 98810125,MDU6SXNzdWU5ODgxMDEyNQ==,510,Include data in repository for examples,5356122,closed,0,,,2,2015-08-03T18:24:17Z,2019-01-15T20:13:56Z,2019-01-15T20:13:56Z,MEMBER,,,,"Right now most of the examples in the documentation have something like this: ``` arr = xray.DataArray(np.random.randn(2, 3), ...: [('x', ['a', 'b']), ('y', [10, 20, 30])]) ``` This feels distracting- it really only needs to be in the documentation for the constructors. It would be really nice to have one set of realistic example data used throughout the docs. It should be accessible to anyone without requiring domain expertise- lat, long, temperature works fine. Simulated data is fine- avoids licensing issues. The names should be something reflective of what they represent, and used that way consistently throughout the docs. They should also be easily accessible to the user copying and pasting code from the docs- similar to this: ``` from xray.examples import weather_dset, temp_array ``` @shoyer This will be especially helpful in the plotting I'm working on now. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/510/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 97581160,MDU6SXNzdWU5NzU4MTE2MA==,498,Better plotting with dates,5356122,closed,0,,,2,2015-07-27T23:51:59Z,2018-02-20T18:01:36Z,2018-02-20T18:01:35Z,MEMBER,,,,"Right now it's not possible to plot dates with 2d data. Also should make more use of the builtin matplotlib capabilities for handling dates such as: http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure.autofmt_xdate ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/498/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 107050153,MDExOlB1bGxSZXF1ZXN0NDUzMjc3ODM=,581,Convenient faceting,5356122,closed,0,,1307323,7,2015-09-17T18:56:49Z,2015-10-21T07:07:59Z,2015-09-21T19:44:42Z,MEMBER,,0,pydata/xarray/pulls/581,"Allows this syntax: ``` In [52]: t4d.plot(x='lon', y='lat', col='time', row='fourth_dim') Out[52]: ``` ![image](https://cloud.githubusercontent.com/assets/5356122/9942968/244f727a-5d33-11e5-9d59-3d58a0b7218f.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/581/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 104753303,MDExOlB1bGxSZXF1ZXN0NDQxMzk1NzM=,558,cartopy example using real data,5356122,closed,0,,1307323,1,2015-09-03T18:18:17Z,2015-10-21T07:05:48Z,2015-09-03T20:16:19Z,MEMBER,,0,pydata/xarray/pulls/558,"Use the tutorial dataset for the cartopy example. Image becomes: ![image](https://cloud.githubusercontent.com/assets/5356122/9666849/5f6e3f1e-522d-11e5-8146-d79d7b29f23d.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/558/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 106088229,MDExOlB1bGxSZXF1ZXN0NDQ4MjU1MzU=,573,minor changes in dask docs,5356122,closed,0,,1307323,1,2015-09-11T20:29:17Z,2015-10-21T07:05:48Z,2015-09-11T20:41:48Z,MEMBER,,0,pydata/xarray/pulls/573,"fix a couple typos ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/573/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 102460779,MDExOlB1bGxSZXF1ZXN0NDMwODAxMzg=,547,remove facet doc,5356122,closed,0,,1307323,0,2015-08-21T20:55:35Z,2015-10-21T07:05:47Z,2015-08-21T20:55:43Z,MEMBER,,0,pydata/xarray/pulls/547,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/547/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 102866893,MDExOlB1bGxSZXF1ZXN0NDMyMDg3NjE=,550,robust plot documentation,5356122,closed,0,,1307323,7,2015-08-24T18:57:14Z,2015-10-21T07:05:47Z,2015-08-26T18:11:04Z,MEMBER,,0,pydata/xarray/pulls/550,"These are the plots that will be in the docs. ## default ![image](https://cloud.githubusercontent.com/assets/5356122/9449387/1d1f27e6-4a57-11e5-93cf-47f0fedcb222.png) ## `robust=True` ![image](https://cloud.githubusercontent.com/assets/5356122/9449396/32b87d0a-4a57-11e5-826e-3ee71d539edb.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/550/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 105490671,MDU6SXNzdWUxMDU0OTA2NzE=,562,Not all faceted plotting generated in docs,5356122,closed,0,,,1,2015-09-08T23:52:05Z,2015-10-02T04:47:50Z,2015-10-02T04:47:50Z,MEMBER,,,,"Current doc build looks good with one exception. ``` In [65]: hasoutliers = t.isel(time=slice(0, 5)).copy() In [66]: hasoutliers[0, 0, 0] = -100 In [67]: hasoutliers[-1, -1, -1] = 400 In [68]: g = xray.plot.FacetGrid(hasoutliers, col='time', col_wrap=3) In [69]: g.map_dataarray(xray.plot.contourf, 'lon', 'lat', robust=True, cmap='viridis') Out[69]: ``` ![image](https://cloud.githubusercontent.com/assets/5356122/9750191/93280af4-5649-11e5-9a1c-f6c4b8d91301.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/562/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 100646364,MDExOlB1bGxSZXF1ZXN0NDIyOTUzNDA=,527,faceted plots,5356122,closed,0,,,33,2015-08-12T22:12:12Z,2015-09-04T22:39:39Z,2015-09-04T22:39:39Z,MEMBER,,0,pydata/xarray/pulls/527,"Opening this to provide visibility as I work on this PR. Currently this has `x` and `y` string arguments for 2d plot working, but everything else still needs lots of work. I'll let people know when it's ready for review. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/527/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 102268278,MDExOlB1bGxSZXF1ZXN0NDI5OTM3NjY=,544,Tutorial,5356122,closed,0,,,1,2015-08-21T00:35:37Z,2015-08-21T20:45:42Z,2015-08-21T20:45:42Z,MEMBER,,0,pydata/xarray/pulls/544,"This PR adds the tutorial and real data for most of the plotting examples. Addresses #510. Still need to look through the rest of the docs for places where using real data is more valuable. I _love_ this `xray.tutorial.load_dataset` function. So helpful when trying things out- should've written it long ago. Now plotting examples look like this: ![image](https://cloud.githubusercontent.com/assets/5356122/9398918/d17bc7c4-4761-11e5-8811-3949ba599c27.png) The PR from earlier today should fix the date in the title. Question- Is this the best place to keep the tutorial.py file? ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/544/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 101511945,MDU6SXNzdWUxMDE1MTE5NDU=,534,Plot title variable too long,5356122,closed,0,,,3,2015-08-17T21:20:11Z,2015-08-20T20:05:25Z,2015-08-20T20:05:25Z,MEMBER,,,,"Current behavior: ``` air0 = airtemp.air.isel(time=0) air0.plot() ``` ![image](https://cloud.githubusercontent.com/assets/5356122/9316379/8c87fe28-44e9-11e5-82d8-81389118760d.png) Preferred behavior: ![image](https://cloud.githubusercontent.com/assets/5356122/9316510/50f97052-44ea-11e5-9b72-195d20d53111.png) Currently the plot titles are truncated at 50 characters using `DataArray._title_for_slice(self, truncate=50)`. To implement the new behavior we can just make this become `DataArray._title_for_slice(self, truncate=50, each=10)` which will additionally truncate each variable at 10 characters. This works well for dates. For discussion- Do we add something indicating the variable was truncated? Like trailing ellipsis: `time = 2012-12-31...` ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/534/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 102203048,MDExOlB1bGxSZXF1ZXN0NDI5NjI0Njc=,543,fixes #534- use core.formatting.format_item for slice title,5356122,closed,0,,,0,2015-08-20T18:34:28Z,2015-08-20T20:05:25Z,2015-08-20T20:05:25Z,MEMBER,,0,pydata/xarray/pulls/543,"Closes #534 The `formatting` for the `__repr__` work perfectly for this. Didn't write any tests since it seems better to directly test the formatting module here. ![image](https://cloud.githubusercontent.com/assets/5356122/9392020/fe2a98c8-472e-11e5-8646-f2c95e04cb64.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/543/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 101724822,MDExOlB1bGxSZXF1ZXN0NDI3MzQzNTg=,539,release notes for plotting,5356122,closed,0,,1213895,2,2015-08-18T18:50:11Z,2015-08-20T00:19:21Z,2015-08-19T18:26:50Z,MEMBER,,0,pydata/xarray/pulls/539,"cc @shoyer ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/539/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 99547211,MDExOlB1bGxSZXF1ZXN0NDE4NDc2NDg=,519,2d plot titles,5356122,closed,0,,,8,2015-08-06T23:53:00Z,2015-08-12T21:48:33Z,2015-08-12T21:48:13Z,MEMBER,,0,pydata/xarray/pulls/519,"Working on faceted plotting now. This will be helpful. It adds a title if the array came from a slice, and labels the colorbar with the variable name. ![image](https://cloud.githubusercontent.com/assets/5356122/9125954/6c30206a-3c5b-11e5-8fd7-98c7ecd2ef0e.png) ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/519/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 99513363,MDExOlB1bGxSZXF1ZXN0NDE4Mjg2Mzg=,518,build local docs using matplotlib Agg backend,5356122,closed,0,,,6,2015-08-06T20:04:49Z,2015-08-06T20:46:43Z,2015-08-06T20:22:26Z,MEMBER,,0,pydata/xarray/pulls/518,"Addresses discussion in #509. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/518/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 98228846,MDExOlB1bGxSZXF1ZXN0NDEyNjM5MjA=,502,DataArray plot namespace attribute,5356122,closed,0,,,6,2015-07-30T18:08:48Z,2015-07-31T21:23:11Z,2015-07-31T21:23:09Z,MEMBER,,0,pydata/xarray/pulls/502,"Use `DataArray.plot` attribute to access `xray.plotting` functions as methods on a DataArray. Example: `da.plot_imshow()` becomes `da.plot.imshow()`, which is equivalent to `xray.plotting.imshow(da)`. Not finished yet, but putting it up here for visibility and feedback. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/502/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 96199241,MDExOlB1bGxSZXF1ZXN0NDA0MTI3NDI=,485,Reorganize plotting module structure and add default color map,5356122,closed,0,,,2,2015-07-21T00:45:16Z,2015-07-21T16:59:15Z,2015-07-21T16:59:15Z,MEMBER,,0,pydata/xarray/pulls/485,"Now with viridis default color map. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/485/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 94417601,MDExOlB1bGxSZXF1ZXN0Mzk3MzU2MTk=,466,Feature plotting,5356122,closed,0,,,17,2015-07-11T00:18:51Z,2015-07-20T17:47:56Z,2015-07-20T03:19:49Z,MEMBER,,0,pydata/xarray/pulls/466,"Not complete, but still ready for some feedback! Docs are built here: http://xray.readthedocs.org/en/feature-plotting/plotting.html There are several TODOs around the docs and the code base. For some of these I'm requesting specific feedback. Still need to: - Handle NaN's - Informative TypeError for coords that can't be plotted ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/466/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 91391756,MDExOlB1bGxSZXF1ZXN0Mzg3MDAyNDU=,445,Feature plotting,5356122,closed,0,,,1,2015-06-27T00:29:19Z,2015-06-30T15:57:53Z,2015-06-30T15:57:16Z,MEMBER,,0,pydata/xarray/pulls/445,"Opening to get feedback as work is done here. Don't merge yet. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/445/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull