holoviz / holoviews

With Holoviews, your data visualizes itself.
https://holoviews.org
BSD 3-Clause "New" or "Revised" License
2.71k stars 403 forks source link

documentation for constructors for element types #3632

Open cocoaaa opened 5 years ago

cocoaaa commented 5 years ago

Hi, thank you for developing this wonderful library. I've been having a lot of fun going through the tutorials.

One main challenge, however, has been in figuring out the expected inputs to data (often the first argument) of various hv.Elements' constructors. For instance, here is the current docstring of hv.Curve:

image

Unfortunately, data doesn't provide a full description of possible input formats.. and I often need to either look for hints in the tutorial notebooks or guess reasonable formats wishing for it to work properly. In the case of hv.Curve, only after reading through #1938, I understood what input formats are valid when constructing this element. It would be really helpful to have this kind of constructor specifications explicitly documented for each element type. As far as I know, hv.help(hv.Curve) doesn't provide this constructor specification either: image

Could you let me know what would be the best way, in general, to find the constructor information for various element types?

Thanks!

poplarShift commented 5 years ago

There may be some exceptions, but as long as you can make it understood to a hv.Dataset it should in principle be able to be consumed by an Element as well. Maybe this helps (and the links to official docs given therein): https://nbviewer.jupyter.org/github/poplarShift/pyviz-recipes/blob/master/notebooks/data_formats.ipynb

ahuang11 commented 5 years ago

If you work with pandas DataFrames / xarray Datasets and are already familiar with plotting with those libraries, I highly encourage hvplot which builds off HoloViews!

Really easy to use e.g. df.plot() -> df.hvplot() ds.plot() -> ds.hvplot() https://hvplot.pyviz.org/user_guide/Plotting.html

If not, I usually look at the reference guide for what type of plot I want to make: https://holoviews.org/reference/index.html