Holoviews: Datashaded scatter plots are not rerendered when linked

Created on 13 Dec 2020  路  9Comments  路  Source: holoviz/holoviews

This seems to be a regression because it works in 1.13.4.

linked_datashader

Using 1.14.0, the datashaded scatterplot works fine as long as it is used on its own:

map_plot = df.hvplot.scatter(x='x', y='y', datashade=True, height=300, width=400) 

but when it is linked with another plot:

hist_plot = df.where((df.SOG>0) & (df.SOG<50)).hvplot.hist("SOG",  bins=20, width=400, height=200) 
linked_plots = link_selections(map_plot + hist_plot)

the plot is not updated when the user zooms or filters:

linked_datashader_bug

https://github.com/anitagraser/movingpandas-examples/blob/5490b46c74fbbabb2d64c52c27bce6bbb6cca65d/tech-demos/linked-brushing.ipynb

May be related to: https://github.com/holoviz/holoviews/issues/4698

tag plotting bug

Most helpful comment

Yep, just tested, fixed after merging that PR.

All 9 comments

I don't think it's related to #4698, because the only update that's missing in that one is an initial update; the rest of the updates work fine (on zooms, pans, etc.). Can you replicate this problem with a dataset that we can obtain, either by making that dataset downloadable or by adapting the example to use one of the datasets shipped with the hv or hvPlot examples?

Also, you might first check your browser's JS console (under More Tools/Developer Tools in Chrome) to see if there are any useful error messages, as well as quitting and restarting your browser, just in case...

The error I get in developer tools is:

VM123:53 Python failed with the following traceback: 
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\pyviz_comms\__init__.py _handle_msg L316
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\bokeh\callbacks.py on_msg L163
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\bokeh\callbacks.py on_msg L155
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\streams.py trigger L171
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\plot.py refresh L244
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\plot.py refresh L240
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\plot.py _trigger_refresh L257
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\plot.py update L981
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\plot.py __getitem__ L446
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\bokeh\element.py update_frame L2388
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\plot.py compute_ranges L640
E:\Anaconda\envs\mpd-ex-clone\lib\site-packages\holoviews\plotting\plot.py _compute_group_range L873
    AttributeError: 'tuple' object has no attribute 'get'

Restarting Jupyter notebooks and the browser does not seem to have any effect. (Tested on Firefox and Vivaldi)

Ok, that does look like a HoloViews error, then. Thanks!

Thanks for the data file. I can replicate this issue using HoloViews master.

Yep, just tested, fixed after merging that PR.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

hojo0590 picture hojo0590  路  4Comments

ericmjl picture ericmjl  路  3Comments

Forander picture Forander  路  6Comments

ceh-creare picture ceh-creare  路  5Comments

jlstevens picture jlstevens  路  6Comments