Bokeh Webinar video, and Q&A

Hi all,

First, for those that missed today's Bokeh webinar, here is a link to the video:

    https://continuum-analytics.wistia.com/medias/f6wp9dam91

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.

···

------

Q: Seaborn doesn't incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I'd love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots...I've noted a lack of a "cmap" and data tips... Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python...I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

Is the “Clustering w/ sklearn” server demo available? Specifically the one with multiple dropdowns and sliders. Only ipynb’s were sent

Hi, thanks for reminding me. I am going to clean it up a bit and put it in the main GH repo tomorrow, but here is a gist with the code for now:

  https://gist.github.com/bryevdv/f102f2e07e369975f0d7

It uses the new Bokeh server, so you will need a 0.11 dev build installed, or wait for the 0.11 release on January 6th. To run, execute:

  bokeh serve <filename>

where <filename> is whatever you saved the gist as.

Thanks,

Bryan

···

On Dec 15, 2015, at 5:21 PM, [email protected] wrote:

Is the "Clustering w/ sklearn" server demo available? Specifically the one with multiple dropdowns and sliders. Only ipynb's were sent

--
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/ba7ac536-848a-45a9-a2d9-b8e30bffd402%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Thank you!

Hi Team,

after the webinar this afternoon, I immediately began exercising the code that was presented but ran into some difficulty on one of the files you demonstrated. The Linked Plots notebook that you provided doesn’t work. It’s throwing a Name Error: name ‘figure’ not defined. Did I miss something during the webinar that I should be doing to prevent this? Thanks. Jerry.

···

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

Have you tried from bokeh.plotting import figure ?? You might not have imported it, may be. :slight_smile:

···

On Wednesday, December 16, 2015 at 6:22:31 AM UTC+1, Jerry Wolfe wrote:

Hi Team,

after the webinar this afternoon, I immediately began exercising the code that was presented but ran into some difficulty on one of the files you demonstrated. The Linked Plots notebook that you provided doesn’t work. It’s throwing a Name Error: name ‘figure’ not defined. Did I miss something during the webinar that I should be doing to prevent this? Thanks. Jerry.

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

FYI the example is in the main repo now:

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

Note: that link is to "master" but in general please make note of the version when looking at examples directly in GH. It's always best to navigate to the specific release branch, when possible (not in this case since 0.11 is not released yet)

Bryan

···

On Dec 15, 2015, at 5:53 PM, Bryan Van de Ven <[email protected]> wrote:

Hi, thanks for reminding me. I am going to clean it up a bit and put it in the main GH repo tomorrow, but here is a gist with the code for now:

  https://gist.github.com/bryevdv/f102f2e07e369975f0d7

It uses the new Bokeh server, so you will need a 0.11 dev build installed, or wait for the 0.11 release on January 6th. To run, execute:

  bokeh serve <filename>

where <filename> is whatever you saved the gist as.

Thanks,

Bryan

On Dec 15, 2015, at 5:21 PM, [email protected] wrote:

Is the "Clustering w/ sklearn" server demo available? Specifically the one with multiple dropdowns and sliders. Only ipynb's were sent

--
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/ba7ac536-848a-45a9-a2d9-b8e30bffd402%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi Bokeh Team,

First, thanks for the package and for the overview yesterday.

Like others, I’m trying to run the demo notebooks on my system.

“2 - Linked Plots.ipynb” runs fine, except the first plot. Error:

TypeError                                 Traceback (most recent call last)
<ipython-input-4-14bf37164867> in <module>()
      4
      5 p = figure(title="Model Year vs MPG (USA/Jap)")
----> 6 p.quad(left=years-0.4, right=years+0.4, bottom=avg-std, top=avg+std,       7      fill_alpha=0.4)
      8 p.circle(x=asarray(japanese["yr"]), y=asarray(japanese["mpg"]), TypeError: 'float' object is not iterable

All of the other plots rendered just fine. Only the one plot using quad() had a problem.

I’m running Python 3.5.1 and Anaconda 2.4.1 on a OS X El Capitan.

Thanks,

Jim

···

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

Hi James,

Thanks for trying out Bokeh! Mnay of our devs use python 3, but we still have some python 2 users. In this case the author of the notebook wrote code that works with python 2, but not python 3. Fortanately it is a trivial fix, in the cell above, change:

  years = asarray(grouped.groups.keys())

to

  years = asarray(list(grouped.groups.keys()))

I'll make sure to get the notebook updated as well. Let us know any other questions.

Bryan

···

On Dec 16, 2015, at 1:51 PM, [email protected] wrote:

Hi Bokeh Team,

First, thanks for the package and for the overview yesterday.

Like others, I'm trying to run the demo notebooks on my system.

"2 - Linked Plots.ipynb" runs fine, except the first plot. Error:

TypeError
                                 Traceback (most recent call last)

<ipython-input-4-14bf37164867> in <module>()
      4
      5 p = figure(title="Model Year vs MPG (USA/Jap)")
----> 6
p.quad(left=years-0.4, right=years+0.4, bottom=avg-std, top=avg+std,

      7
      fill_alpha=0.4)

      8
p.circle(x=asarray(japanese["yr"]), y=asarray(japanese["mpg"]),

TypeError: 'float' object is not iterable

All of the other plots rendered just fine. Only the one plot using quad() had a problem.

I'm running Python 3.5.1 and Anaconda 2.4.1 on a OS X El Capitan.

Thanks,

Jim

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:
Hi all,

First, for those that missed today's Bokeh webinar, here is a link to the video:

    https://continuum-analytics.wistia.com/medias/f6wp9dam91

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.

------

Q: Seaborn doesn't incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I'd love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots...I've noted a lack of a "cmap" and data tips... Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python...I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

--
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/08af5b6d-17a6-4056-a115-5f9b4ee46525%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Got gapminder.ipynb to work - cool graphics!

There are two files needed for the last example, “Embedding”: assets/gapminder_template.{jinja,css}.

I found these files on your GitHub site at https://github.com/bokeh/bokeh-notebooks/blob/master/tutorial/assets/gapminder_template.jinja (and CSS file in same directory).

Hopefully, those are the correct ones. They seem to work.

Jim

···

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

Yup - that works! Thanks.

···

On Wednesday, December 16, 2015 at 12:19:23 PM UTC-8, Bryan Van de ven wrote:

Hi James,

Thanks for trying out Bokeh! Mnay of our devs use python 3, but we still have some python 2 users. In this case the author of the notebook wrote code that works with python 2, but not python 3. Fortanately it is a trivial fix, in the cell above, change:

    years = asarray(grouped.groups.keys())

to

    years = asarray(list(grouped.groups.keys()))

I’ll make sure to get the notebook updated as well. Let us know any other questions.

Bryan

On Dec 16, 2015, at 1:51 PM, [email protected] wrote:

Hi Bokeh Team,

First, thanks for the package and for the overview yesterday.

Like others, I’m trying to run the demo notebooks on my system.

“2 - Linked Plots.ipynb” runs fine, except the first plot. Error:

TypeError

                             Traceback (most recent call last)

in ()

  4
  5 p = figure(title="Model Year vs MPG (USA/Jap)")

----> 6

p.quad(left=years-0.4, right=years+0.4, bottom=avg-std, top=avg+std,

  7
  fill_alpha=0.4)
  8

p.circle(x=asarray(japanese[“yr”]), y=asarray(japanese[“mpg”]),

TypeError: ‘float’ object is not iterable

All of the other plots rendered just fine. Only the one plot using quad() had a problem.

I’m running Python 3.5.1 and Anaconda 2.4.1 on a OS X El Capitan.

Thanks,

Jim

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need


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/08af5b6d-17a6-4056-a115-5f9b4ee46525%40continuum.io.

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

Hey Kev, I suspect whomever posted the code online after the webinar forgot that. I assumed the code was bug free… my mistake. I’m new to Python but am now aware of the Import of Figure is necessary. Thanks for your prompt response. Jerry

···

On Wednesday, December 16, 2015 at 1:57:34 AM UTC-8, Kevad wrote:

Have you tried from bokeh.plotting import figure ?? You might not have imported it, may be. :slight_smile:

On Wednesday, December 16, 2015 at 6:22:31 AM UTC+1, Jerry Wolfe wrote:

Hi Team,

after the webinar this afternoon, I immediately began exercising the code that was presented but ran into some difficulty on one of the files you demonstrated. The Linked Plots notebook that you provided doesn’t work. It’s throwing a Name Error: name ‘figure’ not defined. Did I miss something during the webinar that I should be doing to prevent this? Thanks. Jerry.

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

Hj Jerry, just to be clear you are talking about this notebook:

  https://notebooks.anaconda.org/pwang/2-linked-plots

Is that correct? That notebook is bug-free, it has the "from bokeh.plotting import figure" in the very first cell of the notebook, as you can see. But you have to execute each cell in a notebook for them to actually take effect. Or there is a "Run All Cells" action in the notebook menu that will execute all the cells in order. But it's understandable that if yo uare new to python you would not be familiar with these aspects of the notebook, or of python. We can try to add more explicit instructions at the top. Thanks for the feedback,

Bryan

···

On Dec 16, 2015, at 4:16 PM, Jerry Wolfe <[email protected]> wrote:

Hey Kev, I suspect whomever posted the code online after the webinar forgot that. I assumed the code was bug free.... my mistake. I'm new to Python but am now aware of the Import of Figure is necessary. Thanks for your prompt response. Jerry

On Wednesday, December 16, 2015 at 1:57:34 AM UTC-8, Kevad wrote:
Have you tried from bokeh.plotting import figure ?? You might not have imported it, may be. :slight_smile:

On Wednesday, December 16, 2015 at 6:22:31 AM UTC+1, Jerry Wolfe wrote:
Hi Team,
after the webinar this afternoon, I immediately began exercising the code that was presented but ran into some difficulty on one of the files you demonstrated. The Linked Plots notebook that you provided doesn't work. It's throwing a Name Error: name 'figure' not defined. Did I miss something during the webinar that I should be doing to prevent this? Thanks. Jerry.

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:
Hi all,

First, for those that missed today's Bokeh webinar, here is a link to the video:

    https://continuum-analytics.wistia.com/medias/f6wp9dam91

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.

------

Q: Seaborn doesn't incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I'd love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots...I've noted a lack of a "cmap" and data tips... Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python...I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

--
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/921eda3b-ff4a-474a-b0d8-ae4320740c3e%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Good morning Bryan,

thanks for getting back to me so promptly. Yes, this is the correct Notebook.

I’m now getting a " Type Error: ‘float’ object is not iterable" on the 3rd cell from top In [3]. When I “Run All” the Notebook only runs the first 3 cells.

I have to Run All in each of the Notebok sections i.e., Linked Scroll & Zoom and Linking Data and Selection to generate the plots. I suspect the original errior on the “Figure” was my error not knowing how to run the Notebook.

I thought Run All or Run All Below would execute ALL cells of Notebook below the cell selected. Right? I’m only able to execute one section at a time individually.

I’m getting the same error on two systems running two different versions of WinPython-64 bit 3.4.3.5 with Python 3.4.3 and Python 3.5.1 Anaconda 2.4.1 64-bit.

I also don’t know how to reset the Notebook, i.e., so that In[ ]: numbering is not accumulative with additional Notebook executions, but I’m searching online to figure that out. . Thanks again for your help. Have a great day! Jerry.

···

On Wednesday, December 16, 2015 at 3:30:43 PM UTC-8, Bryan Van de ven wrote:

Hj Jerry, just to be clear you are talking about this notebook:

    [https://notebooks.anaconda.org/pwang/2-linked-plots](https://notebooks.anaconda.org/pwang/2-linked-plots)

Is that correct? That notebook is bug-free, it has the “from bokeh.plotting import figure” in the very first cell of the notebook, as you can see. But you have to execute each cell in a notebook for them to actually take effect. Or there is a “Run All Cells” action in the notebook menu that will execute all the cells in order. But it’s understandable that if yo uare new to python you would not be familiar with these aspects of the notebook, or of python. We can try to add more explicit instructions at the top. Thanks for the feedback,

Bryan

On Dec 16, 2015, at 4:16 PM, Jerry Wolfe [email protected] wrote:

Hey Kev, I suspect whomever posted the code online after the webinar forgot that. I assumed the code was bug free… my mistake. I’m new to Python but am now aware of the Import of Figure is necessary. Thanks for your prompt response. Jerry

On Wednesday, December 16, 2015 at 1:57:34 AM UTC-8, Kevad wrote:

Have you tried from bokeh.plotting import figure ?? You might not have imported it, may be. :slight_smile:

On Wednesday, December 16, 2015 at 6:22:31 AM UTC+1, Jerry Wolfe wrote:

Hi Team,

after the webinar this afternoon, I immediately began exercising the code that was presented but ran into some difficulty on one of the files you demonstrated. The Linked Plots notebook that you provided doesn’t work. It’s throwing a Name Error: name ‘figure’ not defined. Did I miss something during the webinar that I should be doing to prevent this? Thanks. Jerry.

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need


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/921eda3b-ff4a-474a-b0d8-ae4320740c3e%40continuum.io.

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

Hi Jerry,

It turns out there is a line in that notebook that makes it work only with python 3, but it is an easy fix. Near the top there is a line:

  years = asarray(grouped.groups.keys())

If you change it to

  years = asarray(list(grouped.groups.keys()))

Then it will work with python 2 as well.

Thanks and sorry for the inconvenience, we will get that updated in the published notebook ASAP.

Bryan

···

On Dec 17, 2015, at 9:22 AM, Jerry Wolfe <[email protected]> wrote:

Good morning Bryan,
thanks for getting back to me so promptly. Yes, this is the correct Notebook.

I'm now getting a " Type Error: 'float' object is not iterable" on the 3rd cell from top In [3]. When I "Run All" the Notebook only runs the first 3 cells.

I have to Run All in each of the Notebok sections i.e., Linked Scroll & Zoom and Linking Data and Selection to generate the plots. I suspect the original errior on the "Figure" was my error not knowing how to run the Notebook.
I thought Run All or Run All Below would execute ALL cells of Notebook below the cell selected. Right? I'm only able to execute one section at a time individually.

I'm getting the same error on two systems running two different versions of WinPython-64 bit 3.4.3.5 with Python 3.4.3 and Python 3.5.1 Anaconda 2.4.1 64-bit.

I also don't know how to reset the Notebook, i.e., so that In[ ]: numbering is not accumulative with additional Notebook executions, but I'm searching online to figure that out. . Thanks again for your help. Have a great day! Jerry.

On Wednesday, December 16, 2015 at 3:30:43 PM UTC-8, Bryan Van de ven wrote:
Hj Jerry, just to be clear you are talking about this notebook:

        https://notebooks.anaconda.org/pwang/2-linked-plots

Is that correct? That notebook is bug-free, it has the "from bokeh.plotting import figure" in the very first cell of the notebook, as you can see. But you have to execute each cell in a notebook for them to actually take effect. Or there is a "Run All Cells" action in the notebook menu that will execute all the cells in order. But it's understandable that if yo uare new to python you would not be familiar with these aspects of the notebook, or of python. We can try to add more explicit instructions at the top. Thanks for the feedback,

Bryan

> On Dec 16, 2015, at 4:16 PM, Jerry Wolfe <[email protected]> wrote:
>
> Hey Kev, I suspect whomever posted the code online after the webinar forgot that. I assumed the code was bug free.... my mistake. I'm new to Python but am now aware of the Import of Figure is necessary. Thanks for your prompt response. Jerry
>
> On Wednesday, December 16, 2015 at 1:57:34 AM UTC-8, Kevad wrote:
> Have you tried from bokeh.plotting import figure ?? You might not have imported it, may be. :slight_smile:
>
> On Wednesday, December 16, 2015 at 6:22:31 AM UTC+1, Jerry Wolfe wrote:
> Hi Team,
> after the webinar this afternoon, I immediately began exercising the code that was presented but ran into some difficulty on one of the files you demonstrated. The Linked Plots notebook that you provided doesn't work. It's throwing a Name Error: name 'figure' not defined. Did I miss something during the webinar that I should be doing to prevent this? Thanks. Jerry.
>
> On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:
> Hi all,
>
> First, for those that missed today's Bokeh webinar, here is a link to the video:
>
> https://continuum-analytics.wistia.com/medias/f6wp9dam91
>
> And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.
>
> ------
>
> Q: Seaborn doesn't incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?
>
> A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.
>
>
> Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?
>
> A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.
>
>
> Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots
>
> A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.
>
>
> Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?
>
> A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.
>
>
> Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?
>
> A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.
>
>
> Q: Do we always need to run the Bokeh server?
>
> A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.
>
>
> Q: How can you run the same python script again and again at particular time interval - if a server is not required?
>
> A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.
>
>
> Q: Is there ability to add cool transitions while sliding between years? For GapMinder
>
> A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.
>
>
> Q: Are all visualizations and the interface mobile responsive?
>
> A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.
>
>
> Q: Have you used Bokeh in data driven mobile applications?
>
> A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016
>
>
> Q: Can you point to an example app for real time twitter data using bokeh?
>
> A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)
>
>
>
> Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?
>
> A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).
>
>
> Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?
>
> A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.
>
> A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.
>
> A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.
>
>
> Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?
>
> A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.
>
>
> Q: Does Bokeh support 3d plotting?
>
> A: Not yet, but this is a longer term goal.
>
>
> Q: Is there a Shiny equivalent product in python ecosystem?
>
> A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.
>
>
> Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?
>
> A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components
>
>
> Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?
>
> A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.
>
>
> Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?
>
> A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.
>
>
> Q: Can bokeh be used to display spatial data?
>
> A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.
>
>
> Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?
>
> A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).
>
>
> Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.
>
> A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.
>
>
> Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I'd love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?
>
> A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.
>
>
> Q: What limits the frame rate for the animations shown?
>
> A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.
>
>
> Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?
>
> A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.
>
>
> Q: Some time ago I was planning to use Bokeh to make contour plots...I've noted a lack of a "cmap" and data tips... Are there plans to add those features?
>
> A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016
>
>
>
> Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available
>
> A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/
>
>
> Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?
>
> A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update
>
>
> Q: Need rbokeh website
>
> A: http://hafen.github.io/rbokeh/
>
>
> Q: How can Bokeh be installed outside of Anaconda for R or Python...I understand the pip method for Python.
>
> A: “pip install bokeh” should grab everything you need
>
>
>
> --
> 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/921eda3b-ff4a-474a-b0d8-ae4320740c3e%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/a6d09c57-a399-496b-89b3-2d1de618d484%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Sorry, said that backwards, it currently only runs on python 2, and that change will make it work on python 3. :slight_smile:

···

On Dec 17, 2015, at 9:27 AM, Bryan Van de Ven <[email protected]> wrote:

Hi Jerry,

It turns out there is a line in that notebook that makes it work only with python 3, but it is an easy fix. Near the top there is a line:

  years = asarray(grouped.groups.keys())

If you change it to

  years = asarray(list(grouped.groups.keys()))

Then it will work with python 2 as well.

Thanks and sorry for the inconvenience, we will get that updated in the published notebook ASAP.

Bryan

On Dec 17, 2015, at 9:22 AM, Jerry Wolfe <[email protected]> wrote:

Good morning Bryan,
thanks for getting back to me so promptly. Yes, this is the correct Notebook.

I'm now getting a " Type Error: 'float' object is not iterable" on the 3rd cell from top In [3]. When I "Run All" the Notebook only runs the first 3 cells.

I have to Run All in each of the Notebok sections i.e., Linked Scroll & Zoom and Linking Data and Selection to generate the plots. I suspect the original errior on the "Figure" was my error not knowing how to run the Notebook.
I thought Run All or Run All Below would execute ALL cells of Notebook below the cell selected. Right? I'm only able to execute one section at a time individually.

I'm getting the same error on two systems running two different versions of WinPython-64 bit 3.4.3.5 with Python 3.4.3 and Python 3.5.1 Anaconda 2.4.1 64-bit.

I also don't know how to reset the Notebook, i.e., so that In[ ]: numbering is not accumulative with additional Notebook executions, but I'm searching online to figure that out. . Thanks again for your help. Have a great day! Jerry.

On Wednesday, December 16, 2015 at 3:30:43 PM UTC-8, Bryan Van de ven wrote:
Hj Jerry, just to be clear you are talking about this notebook:

       https://notebooks.anaconda.org/pwang/2-linked-plots

Is that correct? That notebook is bug-free, it has the "from bokeh.plotting import figure" in the very first cell of the notebook, as you can see. But you have to execute each cell in a notebook for them to actually take effect. Or there is a "Run All Cells" action in the notebook menu that will execute all the cells in order. But it's understandable that if yo uare new to python you would not be familiar with these aspects of the notebook, or of python. We can try to add more explicit instructions at the top. Thanks for the feedback,

Bryan

On Dec 16, 2015, at 4:16 PM, Jerry Wolfe <[email protected]> wrote:

Hey Kev, I suspect whomever posted the code online after the webinar forgot that. I assumed the code was bug free.... my mistake. I'm new to Python but am now aware of the Import of Figure is necessary. Thanks for your prompt response. Jerry

On Wednesday, December 16, 2015 at 1:57:34 AM UTC-8, Kevad wrote:
Have you tried from bokeh.plotting import figure ?? You might not have imported it, may be. :slight_smile:

On Wednesday, December 16, 2015 at 6:22:31 AM UTC+1, Jerry Wolfe wrote:
Hi Team,
after the webinar this afternoon, I immediately began exercising the code that was presented but ran into some difficulty on one of the files you demonstrated. The Linked Plots notebook that you provided doesn't work. It's throwing a Name Error: name 'figure' not defined. Did I miss something during the webinar that I should be doing to prevent this? Thanks. Jerry.

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:
Hi all,

First, for those that missed today's Bokeh webinar, here is a link to the video:

   https://continuum-analytics.wistia.com/medias/f6wp9dam91

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.

------

Q: Seaborn doesn't incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I'd love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots...I've noted a lack of a "cmap" and data tips... Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python...I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

--
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/921eda3b-ff4a-474a-b0d8-ae4320740c3e%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/a6d09c57-a399-496b-89b3-2d1de618d484%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Sincere thanks for the update Bryan. I knew you meant it the other way around, Have a good evening. Kindest Regards, Jerry.

···

On Thursday, December 17, 2015 at 7:28:33 AM UTC-8, Bryan Van de ven wrote:

Sorry, said that backwards, it currently only runs on python 2, and that change will make it work on python 3. :slight_smile:

On Dec 17, 2015, at 9:27 AM, Bryan Van de Ven [email protected] wrote:

Hi Jerry,

It turns out there is a line in that notebook that makes it work only with python 3, but it is an easy fix. Near the top there is a line:

    years = asarray(grouped.groups.keys())

If you change it to

    years = asarray(list(grouped.groups.keys()))

Then it will work with python 2 as well.

Thanks and sorry for the inconvenience, we will get that updated in the published notebook ASAP.

Bryan

On Dec 17, 2015, at 9:22 AM, Jerry Wolfe [email protected] wrote:

Good morning Bryan,

thanks for getting back to me so promptly. Yes, this is the correct Notebook.

I’m now getting a " Type Error: ‘float’ object is not iterable" on the 3rd cell from top In [3]. When I “Run All” the Notebook only runs the first 3 cells.

I have to Run All in each of the Notebok sections i.e., Linked Scroll & Zoom and Linking Data and Selection to generate the plots. I suspect the original errior on the “Figure” was my error not knowing how to run the Notebook.
I thought Run All or Run All Below would execute ALL cells of Notebook below the cell selected. Right? I’m only able to execute one section at a time individually.

I’m getting the same error on two systems running two different versions of WinPython-64 bit 3.4.3.5 with Python 3.4.3 and Python 3.5.1 Anaconda 2.4.1 64-bit.

I also don’t know how to reset the Notebook, i.e., so that In[ ]: numbering is not accumulative with additional Notebook executions, but I’m searching online to figure that out. . Thanks again for your help. Have a great day! Jerry.

On Wednesday, December 16, 2015 at 3:30:43 PM UTC-8, Bryan Van de ven wrote:

Hj Jerry, just to be clear you are talking about this notebook:

   [https://notebooks.anaconda.org/pwang/2-linked-plots](https://notebooks.anaconda.org/pwang/2-linked-plots)

Is that correct? That notebook is bug-free, it has the “from bokeh.plotting import figure” in the very first cell of the notebook, as you can see. But you have to execute each cell in a notebook for them to actually take effect. Or there is a “Run All Cells” action in the notebook menu that will execute all the cells in order. But it’s understandable that if yo uare new to python you would not be familiar with these aspects of the notebook, or of python. We can try to add more explicit instructions at the top. Thanks for the feedback,

Bryan

On Dec 16, 2015, at 4:16 PM, Jerry Wolfe [email protected] wrote:

Hey Kev, I suspect whomever posted the code online after the webinar forgot that. I assumed the code was bug free… my mistake. I’m new to Python but am now aware of the Import of Figure is necessary. Thanks for your prompt response. Jerry

On Wednesday, December 16, 2015 at 1:57:34 AM UTC-8, Kevad wrote:
Have you tried from bokeh.plotting import figure ?? You might not have imported it, may be. :slight_smile:

On Wednesday, December 16, 2015 at 6:22:31 AM UTC+1, Jerry Wolfe wrote:
Hi Team,
after the webinar this afternoon, I immediately began exercising the code that was presented but ran into some difficulty on one of the files you demonstrated. The Linked Plots notebook that you provided doesn’t work. It’s throwing a Name Error: name ‘figure’ not defined. Did I miss something during the webinar that I should be doing to prevent this? Thanks. Jerry.

On Tuesday, December 15, 2015 at 2:35:27 PM UTC-8, Bryan Van de ven wrote:
Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

https://continuum-analytics.wistia.com/medias/f6wp9dam91

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need


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/921eda3b-ff4a-474a-b0d8-ae4320740c3e%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/a6d09c57-a399-496b-89b3-2d1de618d484%40continuum.io.

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

Difficulty installing:

did “conda install bokeh”

the linked plots doesn’t work. There are errors like
“from bokeh.io import …
ImportError: No module named io”

···

On Tuesday, December 15, 2015 at 5:35:27 PM UTC-5, Bryan Van de ven wrote:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

This seems like an error you might see if you have multiple python installations, and you were actually running a different python (maybe a system python?) that is different from the environment that conda installed bokeh into. Can you verify exactly what "python" is running when you run your script or start the interpreter?

Bryan

···

On Dec 20, 2015, at 4:28 PM, [email protected] wrote:

Difficulty installing:

did "conda install bokeh"

the linked plots doesn't work. There are errors like
"from bokeh.io import ...
   ImportError: No module named io"

On Tuesday, December 15, 2015 at 5:35:27 PM UTC-5, Bryan Van de ven wrote:
Hi all,

First, for those that missed today's Bokeh webinar, here is a link to the video:

    https://continuum-analytics.wistia.com/medias/f6wp9dam91

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.

------

Q: Seaborn doesn't incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I'd love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots...I've noted a lack of a "cmap" and data tips... Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python...I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need

--
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/91a5f49d-1ee7-4e39-ba9e-2298e67f4ae9%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi,

I would like to ask a question about the datashader package. I’ve been trying to install it using various commands. But the one that should work anyway:

“conda install -c bokeh datashader”

returns the following:

Error: No packages found in current win-64 channels matching: datashader

When I search for the datashader package with “anaconda search -t conda datashader”, it returns:

Packages:

Name | Version | Package Types | Platforms

------------------------- | ------ | --------------- | ---------------

ahmadia/datashader | 0.1.0 | conda | linux-64, osx-64

bokeh/datashader | 0.1.0 | conda | linux-64, osx-64

Found 2 packages

Where I indeed see the bokeh datashader package that I need. Do you have any idea why, when installing it, conda can’t find it? And most of all, how to solve this problem and simply install it.

My gratitude in advance!

Vuk

···

Op dinsdag 15 december 2015 23:35:27 UTC+1 schreef Bryan Van de ven:

Hi all,

First, for those that missed today’s Bokeh webinar, here is a link to the video:

[https://continuum-analytics.wistia.com/medias/f6wp9dam91](https://continuum-analytics.wistia.com/medias/f6wp9dam91)

And here are some answers to the great questions from the webinar we didn’t get to answer due to the technical problems at the end.


Q: Seaborn doesn’t incorporate bokeh - is Bokeh being used to wrap seaborn/matplotlib?

A: Bokeh has some basic support for converting Matplotlib plots directly into Bokeh plots. See our examples gallery, for example: http://bokeh.pydata.org/en/latest/docs/gallery/violin.html More and better matplotlib coming when MPL implements their new serialization scheme.

Q: How can you schedule your python code to run at intervals in Bokeh? Will the update with cpu scheduled data be real time?

A: Hopefully you saw this in the streaming example with the wedges, but just to reiterate: you can just use time.sleep() in your python code. In 0.11 (coming January 6) there is a new add_periodic_callback that makes this even easier.

Q: A lot of fiddling to figure it out is needed to figure out the documentation. Can you suggest where we can find more examples and more information to create customized plots

A: There are actually a lot of docs for bokeh, both in terms of the API reference and user guides, as well as a live gallery at http://bokeh.pydata.org/en/latest/docs/gallery.html. However, we do appreciate that with a library of this amount of capability, what we need are things more akin to “cookbooks” that show people how to compose plots that address certain kinds of tasks. Right now, you can see many more examples in the Github repo, e.g. https://github.com/bokeh/bokeh/tree/0.10.0/examples has the examples for version 0.10.

Q: Can you make a server-style application run in jupyter notebook, or does it need to run from the command line?

A: Yes you can. You need to run the bokeh server explicitly from the command line, and then write Python code in the notebook that pushes data to it and such, but the app output can be embedded directly in the notebook. Additionally improved notebook comms are coming which will make integration with native Jupyter notebook interactors even better.

Q: Is it possible to interactively change the scale of the plots (linear, log, semilog)?

A: Yes you can. We haven’t shown any examples of this, but the type of scaling on each axis, as well as any axis properties, are all just attributes that can be modified dynamically, and will get reflected in the browser.

Q: Do we always need to run the Bokeh server?

A: No. Bokeh can generate standalone interactive plots that are fully contained in an HTML file or even embedded in the output cell of a notebook. The bokeh server is only necessary when you want to have Python code get called in response to user interaction, or you want to have Python code that streams or loops data up to the browser. In any of the examples where we are using a CustomJS callback, the interactivity did not require the bokeh server. So, for example, you send them in an email and they would retain all their interactivity.

Q: How can you run the same python script again and again at particular time interval - if a server is not required?

A: It is necessary to run the Bokeh server in order to run any python code, and for certain other kinds of plots and capabilities.

Q: Is there ability to add cool transitions while sliding between years? For GapMinder

A: Yes you could drive this “by hand” with a little JS code, or from python code if you use a Bokeh server. We plan to make this even simpler with built in animation transitions and easing functions in the near future.

Q: Are all visualizations and the interface mobile responsive?

A: Some of the tools are mobile-friendly (both touch and size-responsive), but it’s not something we’ve optimized for at this time.

Q: Have you used Bokeh in data driven mobile applications?

A: Bokeh currently has limited mobile/touch capability, but we intend to make mobile support completely supported/maintained under test in 2016

Q: Can you point to an example app for real time twitter data using bokeh?

A: One difficulty with OSS development is that people don’t always come talk to you when things “just work”. So I am not sure of one offhand, but we’d be happy to help answer questions to get you started making one. (Especially if we can show it off later!)

Q: How does Bokeh relate/compare to other interactive plotting libraries like plotly?

A: Bokeh is similar to plotly, but all of Bokeh, including the Bokeh server and the upcoming DataShader library is completely open source (BSD licensed).

Q: What are the limitations with Bokeh, when compared to the traditional method of creating web applications?

A: Bokeh doesn’t really let you make web applications in the traditional sense. As a web developer, I think of Bokeh more like d3 in the sense that it is a library that I work with to make visualizations. If I’m writing a web application, I want a framework that handles requests, sessions, authentication, maybe has an ORM etc. bokeh-server does one thing which is to keep a synchronous connection between plot(s) on a client and the server.

A: You could use bokeh-server directly to write a very tight data driven application with a few pages, but more than that I’d be looking to use a normal web framework and embed bokeh into it.

A: You may want to embed bokeh charts as standalone charts that are just powered by data from your web application’s database. Or you may want to build something more dynamic that leverages bokeh-server and your web application - a demonstration of that will be coming with the 0.11 release.

Q: It is said in Jupyter at the upper right that you use Python 2. Is there a need to use Python 2 for bokeh, rather than the 3?

A: Bokeh is fully supported and continuously tested with Python 2.7 and Python 3.4 and Python 3.5. Bokeh may function with other versions of Python (including PyPy) but these configurations are not guaranteed.

Q: Does Bokeh support 3d plotting?

A: Not yet, but this is a longer term goal.

Q: Is there a Shiny equivalent product in python ecosystem?

A: Our vision is for Bokeh Server to fill this capability. When combined with the new Jupyter workbook with its new layout system that we are helping to develop, python will have a rock solid story in this arena, with capabilities well beyond what Shiny can do.

Q: How can you embed bokeh plots on a website? Does it make HTML/embed codes?

A: Information about embedding standalone Bokeh app is here: http://bokeh.pydata.org/en/latest/docs/user_guide/embed.html#components

Q: Hello. I am a Django developer really interested in using Bokeh for online visualization. What would be the best way for serving Bokeh plots within a Django project?

A: In addition to the embedding section of the userguide (above) the 0.11 release coming on January 6 will also have complete Django example integrating with the Bokeh server. But in general the outline goes like this: include BokehJS (from CDN) in your head, use ‘bokeh.embed.components’ in your view code, and pass the resulting script and div into context and use them in your template.

Q: For a simple chart, how many points can you handle before performance is an issue? And what can you do then to scale up further?

A: Standard Bokeh with HTML canvas can easily display tens of thousands of points. The Bokeh WebGL backend can scale up to hundreds of thousands of points (but only supports a subset of glyphs yet). The DataShader library arriving in early 2016 extends this range to millions to billions of points.

Q: Can bokeh be used to display spatial data?

A: Yes, we have support for Google Maps together with Bokeh plots and we just added a new generic Tile Renderer to be able to use many tile sources, as well as a GeoJSON data source. Many more GIS features coming in 2016.

Q: Is is possible to write CustomJS that interact with the CustomJS slider? ie in every second increase the year?

A: Yes definitely, the slider can be updated programmatically from Javascript (e.g., slider.set(‘value’, 10) ) or from python if you are using the Bokeh server, (e.g, slider.value = 10).

Q: Does Bokeh provide functions that display data arrays in a spreadsheet (cellular) format? I want to eliminate the Excel auto-import portion of my data display requirements, and also get the benefits of dynamic data display that Bokeh provides.

A: There are lots of great Open Source tools for integrating Python and Excel, you can a list of some at http://docs.continuum.io/anaconda/excel Look specifically for tighter Bokeh/Excel integrations coming in 2016.

Q: CustomJS with a Python function is very exciting since one can avoid writing JS, but the python allowed is limited. I’d love to use callbacks with pandas code to update data plotted. Any chance this will happen down the road?

A: If you need to run real python code (e.g. interact with Pandas) then you will need to use the Bokeh server.

Q: What limits the frame rate for the animations shown?

A: The framerates are actually at 30+ FPS; however, the GotoWebinar software is not able to broadcast at that framework. They run very very smoothly! (Even the spectrogram.) When we make the recording of the webinar available, you can see that they are running at full framerate.

Q: Say I have a streaming data coming in every 0.1 second, what do I need to pay attention to about the computational load using Bokeh? My past experience with matplotlib is the plot freezes after running for a while?

A: The exact answer depends on particulars of your situation, of course. But as an example the spectrogram has been run continuously for 8+ hours at conferences, with ~30 updates per second.

Q: Some time ago I was planning to use Bokeh to make contour plots…I’ve noted a lack of a “cmap” and data tips… Are there plans to add those features?

A: My understanding of the question is: will hover tips work with “colormap image plots”? If so, yes, we intend to add hover capability to image plots in early 2016

Q: Hello, it looks like the gapminder notebook require the utils.py package. Is it available

A: You can download utils.py here: http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/tree/master/tutorial/

Q: Can you zoom in the right plot and have it reflect in the left? Or is it monodirectional?

A: You can definitely link plot ranges trivially by sharing ranges between them, see http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#linking-plots But you can also trigger more sophisticated interactions too, see: http://bokeh.pydata.org/en/latest/docs/user_guide/interaction.html#customjs-for-range-update

Q: Need rbokeh website

A: http://hafen.github.io/rbokeh/

Q: How can Bokeh be installed outside of Anaconda for R or Python…I understand the pip method for Python.

A: “pip install bokeh” should grab everything you need