home / github / issue_comments

Menu
  • GraphQL API
  • Search all tables

issue_comments: 577772787

This data as json

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/3709#issuecomment-577772787 https://api.github.com/repos/pydata/xarray/issues/3709 577772787 MDEyOklzc3VlQ29tbWVudDU3Nzc3Mjc4Nw== 1695496 2020-01-23T16:58:45Z 2020-01-23T20:09:35Z CONTRIBUTOR

I didn't appreciate exactly how much of this panel/holoviews can already do

On the one hand, yes, HoloViews + Panel is quite powerful and clean for what it can already do. But just so everyone is on the same page, the workflow @philippjfr shows above is only possible for the operations that HoloViews has implemented internally. The operations available in HoloViews are only a small subset of what can be done with the native Xarray or Pandas APIs, and adding new capability like that to HoloViews is difficult because HoloViews supports many different underlying data formats (lists, dictionaries, NumPy, Pandas, Xarray, etc.). So while there are advantages to what's already available in HoloViews:

  • Same syntax for working with a wide variety of data libraries or native Python types
  • Easy interactive, reactive pipelines (lazy operations that replay on demand)
  • Native support for multiple plotting libraries

there are also major disadvantages:

  • You have to learn HoloViews syntax for operations you quite likely already know how to do in your data library of choice (Xarray, Pandas, etc.)
  • The supported operations aren't ever going to be as rich as what's available from individual specific libraries

Note that hvPlot injects the plotting capability from HoloViews into Xarray and Pandas, letting you use the native data APIs for plotting, but it doesn't give you the control over lazy/interactive/reactive pipelines that HoloViews' native API offers. So to me what this issue's proposal would entail is taking the idea of hvPlot further, making Xarray (and Pandas) natively act like HoloViews already does -- with lazy operations where interactive controls can be inserted at every stage, letting people stay in their preferred rich, native data API while having the power to easily make anything interactive and to easily make anything visualizable.

{
    "total_count": 4,
    "+1": 4,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  552500673
Powered by Datasette · Queries took 0.615ms · About: xarray-datasette