{"database": "github", "table": "issues", "is_view": false, "human_description_en": "where state_reason = \"completed\", \"updated_at\" is on date 2020-06-17 and user = 35968931 sorted by updated_at descending", "rows": [[332987740, "MDU6SXNzdWUzMzI5ODc3NDA=", 2235, "Adding surface plot for 2D data", 35968931, "closed", 0, null, null, 2, "2018-06-16T13:36:10Z", "2020-06-17T04:49:50Z", "2020-06-17T04:49:50Z", "MEMBER", null, null, null, "I am interested in adding the ability to plot [surface plots](https://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html#surface-plots) of 2D xarray data using matplotlib's 3D plotting function `plot_surface()`.\r\n\r\nThis would be nice because a surface in 3D is much more useful for showing certain features of 2D data then color plots are. For example an outlier would appear as an obvious spike rather than just a single bright point as it would when using `plot.imshow()`. I'm not suggesting adding full 3D plotting capability, just the ability to visualise 2D data as a surface in 3D.\r\n\r\nThe code would end up allowing you to just call `xr.Dataarray.plot.surface()` to create something like this  example from [here](https://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html#surface-plots) ([code here](https://matplotlib.org/mpl_examples/mplot3d/surface3d_demo.py)):\r\n\r\n![Example surface plot](https://matplotlib.org/mpl_examples/mplot3d/surface3d_demo.png)\r\n\r\nObviously xarray would be used to automatically set the axes labels and title and so on.\r\n\r\nAs far as I can tell it wouldn't be too difficult to do, it would just be implemented as another 2D plotting method the same way as the `Dataarray.plot.imshow()`, `Dataarray.plot.contour()` etc methods currently are. It would require the imports\r\n```python\r\nimport matplotlib.pyplot as plt\r\nfrom mpl_toolkits.mplot3d import Axes3D\r\n```\r\nbut these would only need to be imported if this type of plot was chosen.\r\n\r\nI would be interested in trying to add this myself, but I've never contributed to an open-source project before. Is this a reasonable thing for me to try? Can anyone see any immediate difficulties with this? Would I just need to have a go and then submit a pull request?", "{\"url\": \"https://api.github.com/repos/pydata/xarray/issues/2235/reactions\", \"total_count\": 1, \"+1\": 1, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", null, "completed", 13221727, "issue"]], "truncated": false, "filtered_table_rows_count": 1, "expanded_columns": [], "expandable_columns": [[{"column": "repo", "other_table": "repos", "other_column": "id"}, "name"], [{"column": "milestone", "other_table": "milestones", "other_column": "id"}, "title"], [{"column": "assignee", "other_table": "users", "other_column": "id"}, "login"], [{"column": "user", "other_table": "users", "other_column": "id"}, "login"]], "columns": ["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"], "primary_keys": ["id"], "units": {}, "query": {"sql": "select 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 from issues where \"state_reason\" = :p0 and date(\"updated_at\") = :p1 and \"user\" = :p2 order by updated_at desc limit 101", "params": {"p0": "completed", "p1": "2020-06-17", "p2": "35968931"}}, "facet_results": {"state": {"name": "state", "type": "column", "hideable": false, "toggle_url": "/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931", "results": [{"value": "closed", "label": "closed", "count": 1, "toggle_url": "http://xarray-datasette.fly.dev/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931&state=closed", "selected": false}], "truncated": false}, "repo": {"name": "repo", "type": "column", "hideable": false, "toggle_url": "/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931", "results": [{"value": 13221727, "label": "xarray", "count": 1, "toggle_url": "http://xarray-datasette.fly.dev/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931&repo=13221727", "selected": false}], "truncated": false}, "type": {"name": "type", "type": "column", "hideable": false, "toggle_url": "/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931", "results": [{"value": "issue", "label": "issue", "count": 1, "toggle_url": "http://xarray-datasette.fly.dev/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931&type=issue", "selected": false}], "truncated": false}}, "suggested_facets": [{"name": "created_at", "type": "date", "toggle_url": "http://xarray-datasette.fly.dev/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931&_facet_date=created_at"}, {"name": "updated_at", "type": "date", "toggle_url": "http://xarray-datasette.fly.dev/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931&_facet_date=updated_at"}, {"name": "closed_at", "type": "date", "toggle_url": "http://xarray-datasette.fly.dev/github/issues.json?state_reason=completed&updated_at__date=2020-06-17&user=35968931&_facet_date=closed_at"}], "next": null, "next_url": null, "private": false, "allow_execute_sql": true, "query_ms": 31.40417207032442}