Does hvPlot explorer work interactively?

In the tutorial website Explorer — hvPlot 0.8.4 documentation (holoviz.org) (the explorer shown below ‘hvexplorer = hvplot.explorer(df)
hvexplorer’ cell followed by lots of warnings), whenever variable I choose with mouse and keyboard, the figure on the right does not get updated (e.g. changing Kind, Title, XLabel, …) at all.

Same in brave and edge browser (and mobile, too) as well as in my local jupyter notebook.

Is it supposed to be like this? I expected it to work like, whenever I choose or change a field or variable, the graph should be updated immediately.

Or is there any button that I’m missing (like ‘apply the changes’)? I can’t find it.

Hi @wkjung,

Indeed there are some false warnings emitted when displaying the explorer, I have found the issue and am working on a fix!

However, I could not reproduce the problem you report with the figure not being updated. Could you share a reproducible example?

Minimum reproducible example? Even through the web browser I can’t change the graph.

For example,

in Edge browser (private mode) → go to Explorer — hvPlot 0.8.4 documentation → select and change ‘Kind’ to ‘bar’ or whatever → nothing changes in the graph at the right

In the same way I can’t change the title even if I type something in Labels → Title

Haaa I see what you mean!

Do you see this info box displayed on the right hand part of the site?
image

hvPlot’s site is a static site while the explorer to be fully operational requires a running kernel, e.g. using it in a running notebook. In the future hvPlot’s site is likely to rely on the same technology that was recently introduced on panel.holoviz.org that allows to run Python directly in the browser (not on a server), making static sites way more dynamic.

But the same happens in my running notebook!

minimal example in jupyter notebook:

import hvplot.pandas

hvplot.extension('bokeh')
from bokeh.sampledata.penguins import data as df
hvexplorer = hvplot.explorer(df)
hvexplorer

Output:

WARNING:param.Axes: Param pane was given unknown keyword argument(s) for 'height' parameter with a widget of type <class 'panel.widgets.input.IntInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Axes: Param pane was given unknown keyword argument(s) for 'width' parameter with a widget of type <class 'panel.widgets.input.IntInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Axes: Param pane was given unknown keyword argument(s) for 'xlim' parameter with a widget of type <class 'panel.widgets.input.LiteralInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Axes: Param pane was given unknown keyword argument(s) for 'ylim' parameter with a widget of type <class 'panel.widgets.input.LiteralInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Axes: Param pane was given unknown keyword argument(s) for 'xlim' parameter with a widget of type <class 'panel.widgets.slider.RangeSlider'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Colormapping: Param pane was given unknown keyword argument(s) for 'clim' parameter with a widget of type <class 'panel.widgets.input.LiteralInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Labels: Param pane was given unknown keyword argument(s) for 'fontscale' parameter with a widget of type <class 'panel.widgets.input.FloatInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Labels: Param pane was given unknown keyword argument(s) for 'rot' parameter with a widget of type <class 'panel.widgets.slider.IntSlider'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Operations: Param pane was given unknown keyword argument(s) for 'x_sampling' parameter with a widget of type <class 'panel.widgets.input.FloatInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Operations: Param pane was given unknown keyword argument(s) for 'y_sampling' parameter with a widget of type <class 'panel.widgets.input.FloatInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Style: Param pane was given unknown keyword argument(s) for 'alpha' parameter with a widget of type <class 'panel.widgets.slider.FloatSlider'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Axes: Param pane was given unknown keyword argument(s) for 'ylim' parameter with a widget of type <class 'panel.widgets.input.LiteralInput'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Axes: Param pane was given unknown keyword argument(s) for 'xlim' parameter with a widget of type <class 'panel.widgets.slider.RangeSlider'>. The following keyword arguments could not be applied: 'throttled'.
WARNING:param.Labels: Param pane was given unknown keyword argument(s) for 'rot' parameter with a widget of type <class 'panel.widgets.slider.IntSlider'>. The following keyword arguments could not be applied: 'throttled'.

<the-same-explorer view / graph>

As I said, in the explorer shown I can’t change anything. (on the other hand, when I click a legend in the graph, e.g. bill_length_mm, the legend itself and the corresponding line grays out interactively).

I installed all the requrements with

conda create -n hvplot-env -c pyviz -c conda-forge -c nodefaults hvplot geoviews datashader xarray pandas geopandas dask streamz networkx intake intake-xarray intake-parquet s3fs scipy spatialpandas pooch rasterio fiona plotly matplotlib jupyterlab

which gives hvplot 0.8.4 .

Hmm ok, I’ve also just managed to get the explorer in state similar to what you’ve been reporting. But then I couldn’t manage to get into that state again. We’ve seen issues recently due to the latest version of jupyter_client, wondering whether this is linked or not.

It’d be great if you could open an issue on Github (GitHub - holoviz/hvplot: A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews), reporting basically what you reported here, and adding precision about the versions you ran (hvplot, holoviews, panel, bokeh, jupyter_client) and the environment (jupyter lab? notebook classic? which version?). That’d be very helpful!

FYI the next release of Panel should fix the warnings (Fix false warning emitted when constructing a Param pane with `throttled` or `onkeyup` by maximlt · Pull Request #5078 · holoviz/panel · GitHub).

1 Like

I can confirm this, running same code from fresh install of

conda create --name eng1 -c conda-forge hvplot holoviews datashader bokeh panel jupyterlab

I get the same results of error and no interactivity on a windows machine in lab environment. However if I change the end line to

hvexplorer.show()

All works on the resulting web page produced with a bunch more errors (though they didn’t show for video)

versions:

bokeh               3.1.1
jupyterlab          4.0.1
jupyter_client      8.2.0
hvplot              0.8.3
panel               1.0.4 
holoviews           1.16.0

Note:

Pre-panel 1 I’m able to get it to work in the lab environment, it took a couple of clicks but once it was going it worked continually.

bokeh                2.4.3
jupyterlab           3.5.2
jupyter_client       7.4.8
hvplot               0.8.2
panel                0.14.2
holoviews            1.15.4                     

Hope of some help

Can both of you try to check if it works for jupyterlab<4?

Works like a charm with jupyterlab 3.6.4! Thanks.