Interactivity

According to the roadmap interactive features are planned for v0.5. What kind of thing do you have in mind? In particular, will interaction basically facilitate different views into static data, or will it be possible to interact with the data generation side (via bokeh-server).

Cheers,

Peter

Additionally, does interactive imply dynamic? For instance, moving plots like force-directed graphs and filterable chord diagrams? I’d love to use Bokeh, but am stuck working with d3 for now – hopefully I can change over soon!

Thanks very much,

John O’Sullivan

···

From: [email protected]
Sent: ‎Tuesday‎, ‎November‎ ‎26‎, ‎2013 ‎2‎:‎49‎ ‎PM
To: [email protected]

According to the roadmap interactive features are planned for v0.5. What kind of thing do you have in mind? In particular, will interaction basically facilitate different views into static data, or will it be possible to interact with the data generation side (via bokeh-server).

Cheers,

Peter

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/e068a34f-73de-464b-9982-3d42e2841484%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/groups/opt_out.

Yes to both. The client-side Javascript library is currently built on
reactive data model, and so we are able to have coordination between plot
objects purely in the browser itself. Interactions such as linked pan &
zoom, linked crosshairs and readout lines across multiple plots, etc. are
all quite trivial within this design.

Additionally, with the selection model that Bryan has written up on the
wiki (Home · bokeh/bokeh Wiki · GitHub),
our linked brushing and coordinated multiple views (CMV) support in the
client side will be fairly straightforward.

Linking this to server-side data is not as straightforward as the pure JS
interactions, but it's exactly what we have in mind. Actually, it's what's
already implemented now: when running in plot-server mode, selections are
round-tripped back to the server. If you play with the linked brushing in
the Cars data notebook that I have hosted on wakari (
https://www.wakari.io/sharing/bundle/pwang/cars\), all of the data
interaction between the plots and the table views round trip to the server.

For more examples of the kinds of interactions that I am imagining, you can
look at some of the videos below, showing tools and demos we had built
using the Chaco library;

Comments and feedback on all this stuff is very welcome! :slight_smile:

-Peter

···

On Tue, Nov 26, 2013 at 1:49 PM, <[email protected]> wrote:

According to the roadmap interactive features are planned for v0.5. What
kind of thing do you have in mind? In particular, will interaction
basically facilitate different views into static data, or will it be
possible to interact with the data generation side (via bokeh-server).

Thanks Peter. That sounds great, the “linked zooming plot” example is actually pretty close to something I’d love to be able to do with a dataset I’m working with right now. I’m glad to hear that interaction won’t be an afterthought, as it seems with matplotlib and MATLAB.

···

On Tuesday, November 26, 2013 10:27:08 PM UTC, pwang wrote:

On Tue, Nov 26, 2013 at 1:49 PM, [email protected] wrote:

According to the roadmap interactive features are planned for v0.5. What kind of thing do you have in mind? In particular, will interaction basically facilitate different views into static data, or will it be possible to interact with the data generation side (via bokeh-server).

Yes to both. The client-side Javascript library is currently built on reactive data model, and so we are able to have coordination between plot objects purely in the browser itself. Interactions such as linked pan & zoom, linked crosshairs and readout lines across multiple plots, etc. are all quite trivial within this design.

Additionally, with the selection model that Bryan has written up on the wiki (https://github.com/ContinuumIO/bokeh/wiki/Selection-Architecture), our linked brushing and coordinated multiple views (CMV) support in the client side will be fairly straightforward.

Linking this to server-side data is not as straightforward as the pure JS interactions, but it’s exactly what we have in mind. Actually, it’s what’s already implemented now: when running in plot-server mode, selections are round-tripped back to the server. If you play with the linked brushing in the Cars data notebook that I have hosted on wakari (https://www.wakari.io/sharing/bundle/pwang/cars), all of the data interaction between the plots and the table views round trip to the server.

For more examples of the kinds of interactions that I am imagining, you can look at some of the videos below, showing tools and demos we had built using the Chaco library;

http://www.youtube.com/playlist?list=PL36FDDBC2A0050FD4

Comments and feedback on all this stuff is very welcome! :slight_smile:

-Peter

You can also take a look at my example notebook with linked panning and selection.

Note that api is subject to change and you need to run off of master for it to work

http://nbviewer.ipython.org/github/paddymul/bokeh_tutorial/blob/master/multiplot.ipynb

···

On Nov 28, 2013, at 1:31 PM, Peter Le Bek [email protected] wrote:

Thanks Peter. That sounds great, the “linked zooming plot” example is actually pretty close to something I’d love to be able to do with a dataset I’m working with right now. I’m glad to hear that interaction won’t be an afterthought, as it seems with matplotlib and MATLAB.

On Tuesday, November 26, 2013 10:27:08 PM UTC, pwang wrote:

On Tue, Nov 26, 2013 at 1:49 PM, [email protected] wrote:

According to the roadmap interactive features are planned for v0.5. What kind of thing do you have in mind? In particular, will interaction basically facilitate different views into static data, or will it be possible to interact with the data generation side (via bokeh-server).

Yes to both. The client-side Javascript library is currently built on reactive data model, and so we are able to have coordination between plot objects purely in the browser itself. Interactions such as linked pan & zoom, linked crosshairs and readout lines across multiple plots, etc. are all quite trivial within this design.

Additionally, with the selection model that Bryan has written up on the wiki (https://github.com/ContinuumIO/bokeh/wiki/Selection-Architecture), our linked brushing and coordinated multiple views (CMV) support in the client side will be fairly straightforward.

Linking this to server-side data is not as straightforward as the pure JS interactions, but it’s exactly what we have in mind. Actually, it’s what’s already implemented now: when running in plot-server mode, selections are round-tripped back to the server. If you play with the linked brushing in the Cars data notebook that I have hosted on wakari (https://www.wakari.io/sharing/bundle/pwang/cars), all of the data interaction between the plots and the table views round trip to the server.

For more examples of the kinds of interactions that I am imagining, you can look at some of the videos below, showing tools and demos we had built using the Chaco library;

http://www.youtube.com/playlist?list=PL36FDDBC2A0050FD4

Comments and feedback on all this stuff is very welcome! :slight_smile:

-Peter

You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.

To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].

To post to this group, send email to [email protected].

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/612f7fa7-cb05-425e-a5ff-fe6f3f7fffea%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/groups/opt_out.

Force-directed graphs are unfortunately not really on the Bokeh roadmap at
the moment, although I don't think they would be that difficult to add.
The main thing is that I don't think much of Bokeh was really architected
with node-link diagrams in mind, so I'd be worried that there are some
things that won't fit well. (For instance, the event interaction model,
with mappers and dataranges and such.) However, there is no reason why you
shouldn't be able to have a simple shim that makes it possible to render d3
plots on top of Bokeh datasources. It's all just Javascript... :slight_smile:

Chord diagrams, on the other hand, are squarely in the domain of Bokeh
plots. We don't have the chording right now, and I'm not fully convinced
that they're *that* useful of a visualization, but I think that between
abstract rendering and interactive selection, we can produce useful chord
diagrams. Actually, I think that rendering chord diagrams should be
achievable now with the bezier and annular wedge glyphs that we already
have.... (The selection and highlight interactions are not there yet, of
course.)

-Peter

···

On Tue, Nov 26, 2013 at 3:43 PM, <[email protected]> wrote:

Additionally, does interactive imply dynamic? For instance, moving
plots like force-directed graphs
<http://bl.ocks.org/mbostock/4062045http://bl.ocks.org/mbostock/4062045&gt;and
filterable chord diagrams<http://bost.ocks.org/mike/uberdata/http://bost.ocks.org/mike/uberdata/&gt;?
I’d love to use Bokeh, but am stuck working with d3 for now -- hopefully I
can change over soon!