home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

15 rows where issue = 139863868 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: created_at (date), updated_at (date)

user 3

  • fmaussion 7
  • jamesp 5
  • shoyer 3

author_association 2

  • MEMBER 10
  • NONE 5

issue 1

  • Composite coordinate plot only works in one orientation · 15 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
196236838 https://github.com/pydata/xarray/issues/788#issuecomment-196236838 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NjIzNjgzOA== jamesp 22805 2016-03-14T10:09:45Z 2016-03-14T10:09:45Z NONE

Fantastic, thanks both. Hoping next time I can contribute a fix as well as an issue ticket!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195743394 https://github.com/pydata/xarray/issues/788#issuecomment-195743394 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTc0MzM5NA== fmaussion 10050469 2016-03-12T13:33:58Z 2016-03-12T13:33:58Z MEMBER

Hi @shoyer , here's an attempt: https://github.com/pydata/xarray/pull/794

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195672918 https://github.com/pydata/xarray/issues/788#issuecomment-195672918 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTY3MjkxOA== shoyer 1217238 2016-03-12T06:44:17Z 2016-03-12T06:44:17Z MEMBER

Thanks @fmaussion for that example.

I would tentatively call this is a bug. At the very least, I don't think there's a good reason why this shouldn't work.

I think we need a slightly more robust solution to these lines: https://github.com/pydata/xarray/blob/v0.7.1/xarray/plot/plot.py#L380-L382

For example, it might be a better idea to look at darray[xlab].dims rather than xlab itself. Any interest in putting together a PR?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195563668 https://github.com/pydata/xarray/issues/788#issuecomment-195563668 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTU2MzY2OA== fmaussion 10050469 2016-03-11T21:33:06Z 2016-03-11T21:33:16Z MEMBER

Here is a mwe:

``` python import xarray as xr import numpy as np

temp = xr.DataArray(np.random.randn(3, 5), dims=['time', 'x'], coords={'x': [1,2,3,4,5], 'time': [1,2,3]}) temp.coords['rtime'] = temp.time + 3

for some reason this works

temp.plot(x='x', y='rtime');

this does not

temp.plot(x='rtime', y='x');

and this works again

temp.T.plot(x='rtime', y='x'); ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195520059 https://github.com/pydata/xarray/issues/788#issuecomment-195520059 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTUyMDA1OQ== fmaussion 10050469 2016-03-11T19:50:33Z 2016-03-11T19:50:33Z MEMBER

the question (I guess) is: is it legal in xarray to use a non-linked coordinate name as argument for a plot? For example @jamesp wants to plot the following DataArray:

python <xarray.DataArray 'temperature' (time: 3, x: 5)> ... Coordinates: * x (x) int64 1 2 3 4 5 * time (time) int64 1 2 3 r int64 2 rtime (time) float64 0.5 1.0 1.5

By doing:

python .plot(x='x', y='rtime');

instead of the more conventional:

python .plot(x='x', y='time');

The dimension is still time but the coordinates of the plot (for the axis) is rtime. It works if you don't change the order of the dims, but it does not work if you do (hence the transpose in my workaround).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195503517 https://github.com/pydata/xarray/issues/788#issuecomment-195503517 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTUwMzUxNw== shoyer 1217238 2016-03-11T19:12:07Z 2016-03-11T19:12:07Z MEMBER

To be clear, by "Can you do this in pure matplotlib instead of xarray plotting?", I meant could you please demonstrate that here so I can understand exactly what you were hoping to see? Bug reports that show what you expect are more useful than those that only show what went wrong :).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195499002 https://github.com/pydata/xarray/issues/788#issuecomment-195499002 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTQ5OTAwMg== jamesp 22805 2016-03-11T19:00:27Z 2016-03-11T19:00:27Z NONE

I think the axes on the pdf are wrong as I used integers in the coordinate definition and Python 2 to generate the example. Redefining time as [1.0, 2,0, 3.0] gives a better plot. I should have done this in my example, sorry about that.

I can do this in matplotlib and will do so, I guess I was little surprised that (a) it worked at all, and (b) it only worked in one orientation.

I would expect the plots to look exactly like time vs. x, except the time axis is normalised by 'r'.

My hope was that this would work, so I could do something like:

temp.plot(x='rtime', y='x', col='r')

and get an array of plots, each with their own timescales along the x-axis. For my analysis, time is seconds is not really that interesting, it's how it maps to the rotation timescale that matters.

I realise this is probably not a normal use case, so thanks to both of you for taking the time to reply to my question!

On 11 Mar 2016, at 16:58, Stephan Hoyer notifications@github.com wrote:

Honestly I'm a little surprised this doesn't error: dat.temperature.sel(r=2).mean(’y’).plot(x=’x’, y=’rtime’). The plot from your PDF doesn't seem to have the right y labels (rtime ranges from 0 to 2, but the highest label on the plot is 1).

What would you expect these plots to look like? Can you do this in pure matplotlib instead of xarray plotting? I would guess the result you're looking for may be possible but it's not immediately obvious to me what plot should result from this code.

— Reply to this email directly or view it on GitHub.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195453265 https://github.com/pydata/xarray/issues/788#issuecomment-195453265 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTQ1MzI2NQ== shoyer 1217238 2016-03-11T16:58:31Z 2016-03-11T16:58:31Z MEMBER

Honestly I'm a little surprised this doesn't error: dat.temperature.sel(r=2).mean(’y’).plot(x=’x’, y=’rtime’). The plot from your PDF doesn't seem to have the right y labels (rtime ranges from 0 to 2, but the highest label on the plot is 1).

What would you expect these plots to look like? Can you do this in pure matplotlib instead of xarray plotting? I would guess the result you're looking for may be possible but it's not immediately obvious to me what plot should result from this code.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195301004 https://github.com/pydata/xarray/issues/788#issuecomment-195301004 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTMwMTAwNA== jamesp 22805 2016-03-11T09:52:09Z 2016-03-11T09:52:09Z NONE

That works, thanks. You say that it only worked by chance, is there a "proper" xarray-way that I should be doing this?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
195001109 https://github.com/pydata/xarray/issues/788#issuecomment-195001109 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NTAwMTEwOQ== fmaussion 10050469 2016-03-10T18:58:14Z 2016-03-10T18:58:14Z MEMBER

I think that the first case works by chance, since the data dimensions are still 'time', 'x'. But this workaround should work:

python dat.temperature.sel(r=2).mean('y').T.plot(x='rtime', y='x')

(note the transpose)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
194904488 https://github.com/pydata/xarray/issues/788#issuecomment-194904488 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NDkwNDQ4OA== jamesp 22805 2016-03-10T15:26:53Z 2016-03-10T15:26:53Z NONE

yes, in some sense, but it doesn't need to infer. I'm explicitly telling the plot command I want to use 'x' and 'rtime' as the axial coordiates in both examples in my notebook.

It does the right thing when y=rtime; it gives an error when x=rtime.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
194886681 https://github.com/pydata/xarray/issues/788#issuecomment-194886681 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NDg4NjY4MQ== fmaussion 10050469 2016-03-10T14:55:14Z 2016-03-10T14:55:14Z MEMBER

I guess that what you are asking is that xarray should infer from y='x' that the other dimension must be time, and then scale with your new rtime coordinates?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
194885374 https://github.com/pydata/xarray/issues/788#issuecomment-194885374 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NDg4NTM3NA== fmaussion 10050469 2016-03-10T14:53:18Z 2016-03-10T14:53:18Z MEMBER

Aha, I think I just got it. I deleted my previous answer, as I don't know how to answer your question :flushed:

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
194860550 https://github.com/pydata/xarray/issues/788#issuecomment-194860550 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NDg2MDU1MA== jamesp 22805 2016-03-10T14:09:15Z 2016-03-10T14:09:15Z NONE

my use case is that rtime is kind of like normalised time. rtime is implicitly linked to temperature via time and r, no?

I'm running many simulations with varying rotation period r. time is just clock time in seconds; what I want to plot is time in terms of revolutions i.e. time/r.

It works just fine with rtime along the y-axis, but I would like it along the x and there it fails as the length of the coordinate seems to have changed.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868
194835067 https://github.com/pydata/xarray/issues/788#issuecomment-194835067 https://api.github.com/repos/pydata/xarray/issues/788 MDEyOklzc3VlQ29tbWVudDE5NDgzNTA2Nw== fmaussion 10050469 2016-03-10T13:11:13Z 2016-03-10T13:11:13Z MEMBER

Just out of curiosity, what is the use case here? In your example the coordinate rtime has a shape (time: 3, r: 3) ant it is not linked to any dimension of the variable that you are plotting. What do you expect the plot to do?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Composite coordinate plot only works in one orientation 139863868

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [performed_via_github_app] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
);
CREATE INDEX [idx_issue_comments_issue]
    ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
    ON [issue_comments] ([user]);
Powered by Datasette · Queries took 1280.066ms · About: xarray-datasette