Plotting large dataset

I’ld like to plot a long dataset as a line graph in a notebook. At some point (depending on the computer) plotting get’s really slow, and finally impossible. I was wondering what could be done to tackle that problem (apart from just working with a smaller dataset).

On the highest zoom level, it would be fine to interpolate the line with much fewer points. With increased zoom, the number of points that are used increases, but everything outside the viewport can be ignored. Would this be something that I could implement through using bokeh server / abstract rendering?

Do any other solutions/ideas come to mindt?

Best, Jan

Hi Jan,

You can definitely implement server downsampling strategies of your own to run on the Bokeh Server. We are working on exposing several options for this sort of thing (abstract rendering, downsampling using blaze) but I would characterize those particular parts of Bokeh as still "beta". Happy to help with either route though. For current examples of apps you can look here:

  https://github.com/bokeh/bokeh/tree/master/examples/app

Though note there is an open PR (https://github.com/bokeh/bokeh/pull/1881) that introduces a simpler app process. It should be merged in the next week or so. We will also hopefully have a proper downsample example in the Bokeh repo soon as well.

Thanks,

Bryan

···

On Mar 19, 2015, at 4:46 AM, jan <[email protected]> wrote:

I'ld like to plot a long dataset as a line graph in a notebook. At some point (depending on the computer) plotting get's really slow, and finally impossible. I was wondering what could be done to tackle that problem (apart from just working with a smaller dataset).

On the highest zoom level, it would be fine to interpolate the line with much fewer points. With increased zoom, the number of points that are used increases, but everything outside the viewport can be ignored. Would this be something that I could implement through using bokeh server / abstract rendering?

Do any other solutions/ideas come to mindt?

Best, Jan

--
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/aaca84ae-02b4-4c56-8aeb-fd3d82c9ef53%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

There is an example that sort of does what you’re takling about except with min/max decimation over the width of the plot (so, only horizontal, lines, no verticals yet)

but it expects that you’ve got the data loaded into the bokeh server as a blaze array - this sort of stuff is still rather beta, and is also quite cumbersome to use at the moment

https://github.com/bokeh/bokeh/blob/master/examples/plotting/server/serversource.py

···

On Sat, Mar 21, 2015 at 4:52 PM, Bryan Van de Ven [email protected] wrote:

Hi Jan,

You can definitely implement server downsampling strategies of your own to run on the Bokeh Server. We are working on exposing several options for this sort of thing (abstract rendering, downsampling using blaze) but I would characterize those particular parts of Bokeh as still “beta”. Happy to help with either route though. For current examples of apps you can look here:

    [https://github.com/bokeh/bokeh/tree/master/examples/app](https://github.com/bokeh/bokeh/tree/master/examples/app)

Though note there is an open PR (https://github.com/bokeh/bokeh/pull/1881) that introduces a simpler app process. It should be merged in the next week or so. We will also hopefully have a proper downsample example in the Bokeh repo soon as well.

Thanks,

Bryan

On Mar 19, 2015, at 4:46 AM, jan [email protected] wrote:

I’ld like to plot a long dataset as a line graph in a notebook. At some point (depending on the computer) plotting get’s really slow, and finally impossible. I was wondering what could be done to tackle that problem (apart from just working with a smaller dataset).

On the highest zoom level, it would be fine to interpolate the line with much fewer points. With increased zoom, the number of points that are used increases, but everything outside the viewport can be ignored. Would this be something that I could implement through using bokeh server / abstract rendering?

Do any other solutions/ideas come to mindt?

Best, Jan

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/aaca84ae-02b4-4c56-8aeb-fd3d82c9ef53%40continuum.io.

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

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/3C3AD301-CBB3-40CB-A3E6-81B5AEDC306B%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi!
I am a python developer making an interactive web-app which visualizes timeseries data with a maximum of 0.5 million points at a time. I wish to make use of active resampling as users select portions of the data (with zoom tools or the like).
From what I’ve seen, bokeh seems like an excellent tool for this particular thing!
However, I have not found any examples in the docs, nor in the github repository, even though there is a year old video demonstrating this feature on youtube:
https://www.youtube.com/watch?v=kPknmEwQ3Rc
Bryan Van de ven: I am really looking forward to seeing a proper downsampling example in the repo; when do you think it will be made available?
Also, are there maybe already some examples of this already (that I missed)?
There seem to be some blaze examples in
https://github.com/bokeh/bokeh/tree/master/examples/plotting/server
(which I have been unable to run so far), but from what I understand I shouldn’t really need Blaze to accomplish my task?

Best, Jean-Alexander

···

Den lördag 21 mars 2015 kl. 21:52:33 UTC+1 skrev Bryan Van de ven:

Hi Jan,

You can definitely implement server downsampling strategies of your own to run on the Bokeh Server. We are working on exposing several options for this sort of thing (abstract rendering, downsampling using blaze) but I would characterize those particular parts of Bokeh as still “beta”. Happy to help with either route though. For current examples of apps you can look here:

    [https://github.com/bokeh/bokeh/tree/master/examples/app](https://github.com/bokeh/bokeh/tree/master/examples/app)

Though note there is an open PR (https://github.com/bokeh/bokeh/pull/1881) that introduces a simpler app process. It should be merged in the next week or so. We will also hopefully have a proper downsample example in the Bokeh repo soon as well.

Thanks,

Bryan

On Mar 19, 2015, at 4:46 AM, jan [email protected] wrote:

I’ld like to plot a long dataset as a line graph in a notebook. At some point (depending on the computer) plotting get’s really slow, and finally impossible. I was wondering what could be done to tackle that problem (apart from just working with a smaller dataset).

On the highest zoom level, it would be fine to interpolate the line with much fewer points. With increased zoom, the number of points that are used increases, but everything outside the viewport can be ignored. Would this be something that I could implement through using bokeh server / abstract rendering?

Do any other solutions/ideas come to mindt?

Best, Jan


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/aaca84ae-02b4-4c56-8aeb-fd3d82c9ef53%40continuum.io.

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

Thanks for the pointer – I am looking forward to seeing an example for the simpler app process!

···

On Saturday, March 21, 2015 at 9:52:33 PM UTC+1, Bryan Van de ven wrote:

Hi Jan,

You can definitely implement server downsampling strategies of your own to run on the Bokeh Server. We are working on exposing several options for this sort of thing (abstract rendering, downsampling using blaze) but I would characterize those particular parts of Bokeh as still “beta”. Happy to help with either route though. For current examples of apps you can look here:

    [https://github.com/bokeh/bokeh/tree/master/examples/app](https://github.com/bokeh/bokeh/tree/master/examples/app)

Though note there is an open PR (https://github.com/bokeh/bokeh/pull/1881) that introduces a simpler app process. It should be merged in the next week or so. We will also hopefully have a proper downsample example in the Bokeh repo soon as well.

Thanks,

Bryan

On Mar 19, 2015, at 4:46 AM, jan [email protected] wrote:

I’ld like to plot a long dataset as a line graph in a notebook. At some point (depending on the computer) plotting get’s really slow, and finally impossible. I was wondering what could be done to tackle that problem (apart from just working with a smaller dataset).

On the highest zoom level, it would be fine to interpolate the line with much fewer points. With increased zoom, the number of points that are used increases, but everything outside the viewport can be ignored. Would this be something that I could implement through using bokeh server / abstract rendering?

Do any other solutions/ideas come to mindt?

Best, Jan


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/aaca84ae-02b4-4c56-8aeb-fd3d82c9ef53%40continuum.io.

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