☰Read-only archive⌕
Looking for help with Bokeh?

This is a read-only archive. Ask questions and join the conversation on GitHub.

Visit Community Support on GitHub →
Archived discussions · Captured October 28, 2026

Is there a way to refresh an entire plot with new data ALL at once?

Community Support
Eugene_Cheung
Eugene_Cheung

Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.

⌁   Link to post
Bryan
Bryan

Hi,

Unless I am misunderstanding, this is exactly how most of the examples under examples/app (or that are deployed at demo.bokehplots.com) work. They update all of a column data source's .data property at once. Or do you mean something else?

Thanks,

Bryan

···

On Jan 19, 2017, at 10:33 AM, Eugene Cheung <eugeneunistuff@gmail.com> wrote:

Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.

--
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 bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/0687ef84-fa52-4a4e-9c6d-0af484792ce1%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

⌁   Link to post
Eugene_Cheung
Eugene_Cheung

Hi Bryan,

Thank you for helping me out once again. Yes, I do mean updating the plot all at once. But is it possible to refresh the same plot with new data (all at once) later on in the programs execution?

···

On Thursday, 19 January 2017 11:33:59 UTC-5, Eugene Cheung wrote:

Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.

⌁   Link to post
Bryan
Bryan

Hi Eugene,

I'm still missing some piece of context, as this still seems to describe all the existing examples to me, e.g. the app loads, then later a user scrubs a slider or clicks a button, or a timeout or periodic callback fires, and the plot is updated at that later time. Can you describe what you are hoping to accomplish with a bit more situational detail?

Thanks,

Bryan

···

On Jan 19, 2017, at 11:23 AM, Eugene Cheung <eugeneunistuff@gmail.com> wrote:

Hi Bryan,

Thank you for helping me out once again. Yes, I do mean updating the plot all at once. But is it possible to refresh the same plot with new data (all at once) later on in the programs execution?

On Thursday, 19 January 2017 11:33:59 UTC-5, Eugene Cheung wrote:
Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.

--
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 bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/93f43d4c-33c0-4260-a510-5a805a62c1a9%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

⌁   Link to post
Eugene_Cheung
Eugene_Cheung

Hi very sorry if I am missing something very obvious that was in the examples… but how do you fire off an event (through the code) so that you can do your plot update. Right now I see examples using sliders/button clicks, but I want to do my update based on a certain event in my code. Thanks again.

···

On Thursday, 19 January 2017 12:39:42 UTC-5, Bryan Van de ven wrote:

Hi Eugene,

I’m still missing some piece of context, as this still seems to describe all the existing examples to me, e.g. the app loads, then later a user scrubs a slider or clicks a button, or a timeout or periodic callback fires, and the plot is updated at that later time. Can you describe what you are hoping to accomplish with a bit more situational detail?

Thanks,

Bryan

On Jan 19, 2017, at 11:23 AM, Eugene Cheung eugeneu...@gmail.com wrote:

Hi Bryan,

Thank you for helping me out once again. Yes, I do mean updating the plot all at once. But is it possible to refresh the same plot with new data (all at once) later on in the programs execution?

On Thursday, 19 January 2017 11:33:59 UTC-5, Eugene Cheung wrote:

Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.

–
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 bokeh+un...@continuum.io.

To post to this group, send email to bo...@continuum.io.

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/93f43d4c-33c0-4260-a510-5a805a62c1a9%40continuum.io.

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

⌁   Link to post
Eugene_Cheung
Eugene_Cheung

Right now i am still using the doc.add_next_tick_callback but just updating the entire source. Anybody know if this is the right way to do it?

YVal = 200

XVal = 0

source = ColumnDataSource(data=dict(x=, y=))

doc = curdoc()

def notify():

time.sleep(5)

doc.add_next_tick_callback(partial(update))

def update():

print “i am here in update”

global source

s = ColumnDataSource(data=dict(x=[0,5,10,15,20], y=[20,20,20,20,20]))

source.data.update(s.data)

p = figure(y_range=[0,100], plot_width=1000)

source = ColumnDataSource(data=dict(x=[0,5,10,15,20], y=[10,10,10,10,10]))

p.line(x=‘x’, y=‘y’, source=source)

doc.add_root(p)

thread = Thread(target = notify)

thread.start()

···

On Thursday, 19 January 2017 13:23:28 UTC-5, Eugene Cheung wrote:

Hi very sorry if I am missing something very obvious that was in the examples… but how do you fire off an event (through the code) so that you can do your plot update. Right now I see examples using sliders/button clicks, but I want to do my update based on a certain event in my code. Thanks again.

On Thursday, 19 January 2017 12:39:42 UTC-5, Bryan Van de ven wrote:

Hi Eugene,

I’m still missing some piece of context, as this still seems to describe all the existing examples to me, e.g. the app loads, then later a user scrubs a slider or clicks a button, or a timeout or periodic callback fires, and the plot is updated at that later time. Can you describe what you are hoping to accomplish with a bit more situational detail?

Thanks,

Bryan

On Jan 19, 2017, at 11:23 AM, Eugene Cheung eugeneu...@gmail.com wrote:

Hi Bryan,

Thank you for helping me out once again. Yes, I do mean updating the plot all at once. But is it possible to refresh the same plot with new data (all at once) later on in the programs execution?

On Thursday, 19 January 2017 11:33:59 UTC-5, Eugene Cheung wrote:

Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.

–
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 bokeh+un...@continuum.io.

To post to this group, send email to bo...@continuum.io.

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/93f43d4c-33c0-4260-a510-5a805a62c1a9%40continuum.io.

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

⌁   Link to post
Bryan
Bryan

Hi Eugene,

I just don't understand what kind of event you are talking about, or why it would be different. You can set:

  source.data = some_new_data_dict

at pretty much any time you want, in response to any event you want, and that will update a plot. This happens automatically. If you change the value of .data, the plot will update, there is not separate event you need to trigger explicitly.

Pretty much the *only* caveat is if you are using "unlocked" callbacks, and threads, etc., then you have to use a helper function that is passed to add_next_tick_callback, to safely do the real updates on any bokeh models there (e.g. the the thread computes "foo" but the helper callback has to do the "source.data = foo" part)

Thanks,

Bryan

···

On Jan 19, 2017, at 12:23 PM, Eugene Cheung <eugeneunistuff@gmail.com> wrote:

Hi very sorry if I am missing something very obvious that was in the examples... but how do you fire off an event (through the code) so that you can do your plot update. Right now I see examples using sliders/button clicks, but I want to do my update based on a certain event in my code. Thanks again.

On Thursday, 19 January 2017 12:39:42 UTC-5, Bryan Van de ven wrote:
Hi Eugene,

I'm still missing some piece of context, as this still seems to describe all the existing examples to me, e.g. the app loads, then later a user scrubs a slider or clicks a button, or a timeout or periodic callback fires, and the plot is updated at that later time. Can you describe what you are hoping to accomplish with a bit more situational detail?

Thanks,

Bryan

> On Jan 19, 2017, at 11:23 AM, Eugene Cheung <eugeneu...@gmail.com> wrote:
>
> Hi Bryan,
>
> Thank you for helping me out once again. Yes, I do mean updating the plot all at once. But is it possible to refresh the same plot with new data (all at once) later on in the programs execution?
>
> On Thursday, 19 January 2017 11:33:59 UTC-5, Eugene Cheung wrote:
> Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.
>
> --
> 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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/93f43d4c-33c0-4260-a510-5a805a62c1a9%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 bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/e777f913-933c-41e3-9f85-60b1cee81dde%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

⌁   Link to post
Bryan
Bryan

Perhaps these two sections:

  http://bokeh.pydata.org/en/latest/docs/user_guide/server.html#updating-from-threads

  Bokeh server — Bokeh 3.3.2 Documentation

And this example:

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

will be instructive.

Thanks,

Bryan

···

On Jan 19, 2017, at 12:53 PM, Eugene Cheung <eugeneunistuff@gmail.com> wrote:

Right now i am still using the doc.add_next_tick_callback but just updating the entire source. Anybody know if this is the right way to do it?

YVal = 200
XVal = 0
source = ColumnDataSource(data=dict(x=, y=))
doc = curdoc()
def notify():
    time.sleep(5)
    doc.add_next_tick_callback(partial(update))
    
def update():
    print "i am here in update"
    global source
    s = ColumnDataSource(data=dict(x=[0,5,10,15,20], y=[20,20,20,20,20]))
    source.data.update(s.data)

p = figure(y_range=[0,100], plot_width=1000)
source = ColumnDataSource(data=dict(x=[0,5,10,15,20], y=[10,10,10,10,10]))
p.line(x='x', y='y', source=source)
doc.add_root(p)

thread = Thread(target = notify)
thread.start()

On Thursday, 19 January 2017 13:23:28 UTC-5, Eugene Cheung wrote:
Hi very sorry if I am missing something very obvious that was in the examples... but how do you fire off an event (through the code) so that you can do your plot update. Right now I see examples using sliders/button clicks, but I want to do my update based on a certain event in my code. Thanks again.

On Thursday, 19 January 2017 12:39:42 UTC-5, Bryan Van de ven wrote:
Hi Eugene,

I'm still missing some piece of context, as this still seems to describe all the existing examples to me, e.g. the app loads, then later a user scrubs a slider or clicks a button, or a timeout or periodic callback fires, and the plot is updated at that later time. Can you describe what you are hoping to accomplish with a bit more situational detail?

Thanks,

Bryan

> On Jan 19, 2017, at 11:23 AM, Eugene Cheung <eugeneu...@gmail.com> wrote:
>
> Hi Bryan,
>
> Thank you for helping me out once again. Yes, I do mean updating the plot all at once. But is it possible to refresh the same plot with new data (all at once) later on in the programs execution?
>
> On Thursday, 19 January 2017 11:33:59 UTC-5, Eugene Cheung wrote:
> Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.
>
> --
> 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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/93f43d4c-33c0-4260-a510-5a805a62c1a9%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 bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/b39704e6-1044-414b-a3c2-6b453f4e9b54%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

⌁   Link to post
Eugene_Cheung
Eugene_Cheung

Thank you so much Byran, I think I needed to create a new ColumnDataSource rather than updating the stream. Great stuff with Bokeh. Aesthetically its number one. Will love to contribute sometime.

···

On Thursday, 19 January 2017 14:02:52 UTC-5, Bryan Van de ven wrote:

Perhaps these two sections:

    [http://bokeh.pydata.org/en/latest/docs/user_guide/server.html#updating-from-threads](http://bokeh.pydata.org/en/latest/docs/user_guide/server.html#updating-from-threads)



    [http://bokeh.pydata.org/en/latest/docs/user_guide/server.html#updating-from-unlocked-callbacks](http://www.google.com/url?q=http%3A%2F%2Fbokeh.pydata.org%2Fen%2Flatest%2Fdocs%2Fuser_guide%2Fserver.html%23updating-from-unlocked-callbacks&sa=D&sntz=1&usg=AFQjCNFamyFnocv66kmbioLTkUJxjpVm_g)

And this example:

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

will be instructive.

Thanks,

Bryan

On Jan 19, 2017, at 12:53 PM, Eugene Cheung eugeneu...@gmail.com wrote:

Right now i am still using the doc.add_next_tick_callback but just updating the entire source. Anybody know if this is the right way to do it?

YVal = 200

XVal = 0

source = ColumnDataSource(data=dict(x=, y=))

doc = curdoc()
def notify():

time.sleep(5)
doc.add_next_tick_callback(partial(update))

def update():

print "i am here in update"
global source
s = ColumnDataSource(data=dict(x=[0,5,10,15,20], y=[20,20,20,20,20]))  
source.data.update(s.data)

p = figure(y_range=[0,100], plot_width=1000)

source = ColumnDataSource(data=dict(x=[0,5,10,15,20], y=[10,10,10,10,10]))
p.line(x=‘x’, y=‘y’, source=source)

doc.add_root(p)

thread = Thread(target = notify)

thread.start()

On Thursday, 19 January 2017 13:23:28 UTC-5, Eugene Cheung wrote:

Hi very sorry if I am missing something very obvious that was in the examples… but how do you fire off an event (through the code) so that you can do your plot update. Right now I see examples using sliders/button clicks, but I want to do my update based on a certain event in my code. Thanks again.

On Thursday, 19 January 2017 12:39:42 UTC-5, Bryan Van de ven wrote:

Hi Eugene,

I’m still missing some piece of context, as this still seems to describe all the existing examples to me, e.g. the app loads, then later a user scrubs a slider or clicks a button, or a timeout or periodic callback fires, and the plot is updated at that later time. Can you describe what you are hoping to accomplish with a bit more situational detail?

Thanks,

Bryan

On Jan 19, 2017, at 11:23 AM, Eugene Cheung eugeneu...@gmail.com wrote:

Hi Bryan,

Thank you for helping me out once again. Yes, I do mean updating the plot all at once. But is it possible to refresh the same plot with new data (all at once) later on in the programs execution?

On Thursday, 19 January 2017 11:33:59 UTC-5, Eugene Cheung wrote:
Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.

–
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 bokeh+un...@continuum.io.
To post to this group, send email to bo...@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/93f43d4c-33c0-4260-a510-5a805a62c1a9%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 bokeh+un...@continuum.io.

To post to this group, send email to bo...@continuum.io.

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/b39704e6-1044-414b-a3c2-6b453f4e9b54%40continuum.io.

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

⌁   Link to post
Bryan
Bryan

Just to be clear and precise: I think the best demonstrated technique is to update the .data of an existing CDS, not create an entirely new CDS

Thanks,

Bryan

···

On Jan 19, 2017, at 1:47 PM, Eugene Cheung <eugeneunistuff@gmail.com> wrote:

Thank you so much Byran, I think I needed to create a new ColumnDataSource rather than updating the stream. Great stuff with Bokeh. Aesthetically its number one. Will love to contribute sometime.

On Thursday, 19 January 2017 14:02:52 UTC-5, Bryan Van de ven wrote:
Perhaps these two sections:

        http://bokeh.pydata.org/en/latest/docs/user_guide/server.html#updating-from-threads

        Bokeh server — Bokeh 3.3.2 Documentation

And this example:

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

will be instructive.

Thanks,

Bryan

> On Jan 19, 2017, at 12:53 PM, Eugene Cheung <eugeneu...@gmail.com> wrote:
>
> Right now i am still using the doc.add_next_tick_callback but just updating the entire source. Anybody know if this is the right way to do it?
>
> YVal = 200
> XVal = 0
> source = ColumnDataSource(data=dict(x=, y=))
> doc = curdoc()
> def notify():
> time.sleep(5)
> doc.add_next_tick_callback(partial(update))
>
> def update():
> print "i am here in update"
> global source
> s = ColumnDataSource(data=dict(x=[0,5,10,15,20], y=[20,20,20,20,20]))
> source.data.update(s.data)
>
> p = figure(y_range=[0,100], plot_width=1000)
> source = ColumnDataSource(data=dict(x=[0,5,10,15,20], y=[10,10,10,10,10]))
> p.line(x='x', y='y', source=source)
> doc.add_root(p)
>
>
> thread = Thread(target = notify)
> thread.start()
>
> On Thursday, 19 January 2017 13:23:28 UTC-5, Eugene Cheung wrote:
> Hi very sorry if I am missing something very obvious that was in the examples... but how do you fire off an event (through the code) so that you can do your plot update. Right now I see examples using sliders/button clicks, but I want to do my update based on a certain event in my code. Thanks again.
>
> On Thursday, 19 January 2017 12:39:42 UTC-5, Bryan Van de ven wrote:
> Hi Eugene,
>
> I'm still missing some piece of context, as this still seems to describe all the existing examples to me, e.g. the app loads, then later a user scrubs a slider or clicks a button, or a timeout or periodic callback fires, and the plot is updated at that later time. Can you describe what you are hoping to accomplish with a bit more situational detail?
>
> Thanks,
>
> Bryan
>
>
> > On Jan 19, 2017, at 11:23 AM, Eugene Cheung <eugeneu...@gmail.com> wrote:
> >
> > Hi Bryan,
> >
> > Thank you for helping me out once again. Yes, I do mean updating the plot all at once. But is it possible to refresh the same plot with new data (all at once) later on in the programs execution?
> >
> > On Thursday, 19 January 2017 11:33:59 UTC-5, Eugene Cheung wrote:
> > Hi, I was wondering if it is possible to update the ENTIRE plot at once (not point by point)? I am already using add_next_tick_callback for another graph but i.e. lets say I have points (x = [1,2,3] and y = [7,8,9]) and then when I am ready to update the plot to (x=[1,2,3,4,5,6] and y = [7,8,9,10,11,12] on the next draw. Speed is not too important (as long as its reasonable) but appending multiple points at the same time is key.
> >
> > --
> > 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 bokeh+un...@continuum.io.
> > To post to this group, send email to bo...@continuum.io.
> > To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/93f43d4c-33c0-4260-a510-5a805a62c1a9%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 bokeh+un...@continuum.io.
> To post to this group, send email to bo...@continuum.io.
> To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/b39704e6-1044-414b-a3c2-6b453f4e9b54%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 bokeh+unsubscribe@continuum.io.
To post to this group, send email to bokeh@continuum.io.
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/6fd2185e-33db-44be-97c4-f0e53365aa78%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.

⌁   Link to post

End of archived discussion · Replies are disabled