holoviz / holoviews

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

Make linked brushing documentation interactive #4484

Open MarcSkovMadsen opened 4 years ago

MarcSkovMadsen commented 4 years ago

My Pain

For me linked brushing is a killer feature of HoloViews and it hurts me to see it not being represented as well as it could be.

When I look at http://holoviews.org/user_guide/Linked_Brushing.html I want the charts to be interactive and the linked selection to work. And it does not.

Nothing happens when I select an area - for example in a scatter plot.

I would like to evaluate how well this works and I cannot without the hazzle of spinning up my development environment and running the code locally.

Solution

Make examples interactive.

jbednar commented 4 years ago

That solution sounds easy, but it isn't! I made sure to put a JavaScript-based example first on that page, to illustrate how it works even in a normal HTML/CSS/JS website like our docs. But the rest of the docs depend on having a live Python process responding to each individual user, and we don't currently have any way to make that functionality work with pure JavaScript. I think we should be able to figure out a way to overlay a watermark to indicate which examples should not be expected to work fully on the website, and we can also include a link to a separate live deployment of the content of that page. But actually having the primary page always be backed by a Python server doesn't seem economically feasible to me, in that the number of servers involved to ensure that it's always up for all visitor traffic seems prohibitive. Basically, we defend the main website, so that it's an error if any visitor doesn't find our (static) content there, but there's no way we could make that promise for Python-backed content as our userbase grows over time...

jbednar commented 4 years ago

Oh, and we can also replace the widgets with an interactive GIF that shows how the widgets are meant to be used, though that does take time to create and to update for each release...