The Bokeh Approach

Hi,

I recently asked this question in SO: “Differences between Bokeh and Plotly” that was closed (for understandable reasons, in retrospect). The motivation behind that question was to understand better the differences between Bokeh and Plotly.

I am a big fan of Continuum. Countless projects like conda, numba are already making a difference (at least for my team) in my workplace. Recently I been experimenting with Bokeh, and I am probably not alone in seeing a huge potential (and need) in the future of data science for libraries that facilitate interactive computing and visualization from the browser.

Recently, a co-worker of mine has been playing a bit with Plotly (roughly at the same time I started experimenting with Bokeh). Very soon we will start making decisions in my team about which library to use for easily building and hosting web apps with support for interactive visualization with vector graphics.

This takes me to the following question: What makes Bokeh different from alternatives like Plotly and others? I have read Bokeh’s technical vision, watched Bryan Van De Ven’ talk on SciPy 2014, and read a few other discussions on the topic, but I still have questions about where Bokeh stands in relation to the landscape of solutions for web-based interactive visualization libraries in Python.

With this, my questions are: Where does Bokeh excel in your opinion in particular? What are the major differences that you would highlight between Bokeh and other solutions like Plotly in terms of scope/approach/vision that will impact the way the library is used over time?

Thanks again for this phenomenal effort and level of support and commitment to the open source community. Technical computing in Python would not be the same without your work.

Josh

Hey Josh,

···

On Tue, Sep 2, 2014 at 10:02 AM, Josh Wasserstein [email protected] wrote:

This takes me to the following question: What makes Bokeh different from alternatives like Plotly and others?

With this, my questions are: Where does Bokeh excel in your opinion in particular? What are the major differences that you would highlight between Bokeh and other solutions like Plotly in terms of scope/approach/vision that will impact the way the library is used over time?

Good questions! Before I respond in depth, however, I wanted to understand the scope. Do you want me to list only open-source alternatives, or also proprietary offerings like Plotly, Spotfire, Tableau, Palantir, and others? Are you primarily interested in the area of business & statistical infovis (e.g. ggplot and trelliscope’s target domains) or also the realm of scientific visualization (vtk, paraview, dislin, and matplotlib’s roots)?

Thanks,

Peter

Thanks Peter. I actually wasn’t aware of some of the other proprietary offerings (Spotfire, Tableou and Palantir). As a matter of fact, I didn’t know that Plotly was proprietary ether. That’s good to know. I also understand that comparing open-source vs proprietary source makes it difficult, since it’s hard to know what assumptions and architectural decisions were made in closed-source SW.

I can’t speak for others, and I know it’s difficult to draw the line and single out specific alternatives in a comparison, but I think a high-level analysis, perhaps at the level of **features,**capabilities and requirements (e.g. having to be online, being able to build your own apps with widgets, or being able to self-host your own interactive engine, etc.) against mainstream alternatives that directly target Python support (mostly plotly, mpl3d, vispy and vincent), even if in their present form, would already be very helpful.

I think the problem my team has (and perhaps others do as well) is that the landscape of solution looks fragmented, and it’s hard to understand what each solution provides and requires. It looks like Bokeh and Plotly are emerging as the main all-encompassing high-end interactive solutions available, which is why I focused on these two, but perhaps I am wrong.

~Josh

···

On Tue, Sep 2, 2014 at 11:31 AM, Peter Wang [email protected] wrote:

Hey Josh,

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/CABGrp%2B9N%3DqwxTHd0Yu8rSwC-SObOK%3DvZYAQ2hWbL%2B86uk%3Di5aw%40mail.gmail.com.

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

On Tue, Sep 2, 2014 at 10:02 AM, Josh Wasserstein [email protected] wrote:

This takes me to the following question: What makes Bokeh different from alternatives like Plotly and others?

With this, my questions are: Where does Bokeh excel in your opinion in particular? What are the major differences that you would highlight between Bokeh and other solutions like Plotly in terms of scope/approach/vision that will impact the way the library is used over time?

Good questions! Before I respond in depth, however, I wanted to understand the scope. Do you want me to list only open-source alternatives, or also proprietary offerings like Plotly, Spotfire, Tableau, Palantir, and others? Are you primarily interested in the area of business & statistical infovis (e.g. ggplot and trelliscope’s target domains) or also the realm of scientific visualization (vtk, paraview, dislin, and matplotlib’s roots)?

Thanks,

Peter

To clarify, Plotly’s charting libraries for Python and JavaScripts are non-proprietary and 100% open-source under MIT.

Plotly aims for parity with matplotlib or MATLAB graphics features, but with modern, interactive SVG and WebGL renderers. These renderers also make embedding and sharing on the web low-friction. We have regular release cycles every Monday for the JavaScript library and are used from university student homework assignments to production at the largest Fortune 500s.

More: https://plot.ly/python/getting-started/

Contributing: https://github.com/plotly/plotly.js (JavaScript layer) https://github.com/plotly/plotly.py (Python client to JavaScript layer)

-Jack / Plotly CEO

···

On Tuesday, September 2, 2014 at 11:46:17 AM UTC-7, Josh Wasserstein wrote:

Thanks Peter. I actually wasn’t aware of some of the other proprietary offerings (Spotfire, Tableou and Palantir). As a matter of fact, I didn’t know that Plotly was proprietary ether. That’s good to know. I also understand that comparing open-source vs proprietary source makes it difficult, since it’s hard to know what assumptions and architectural decisions were made in closed-source SW.

I can’t speak for others, and I know it’s difficult to draw the line and single out specific alternatives in a comparison, but I think a high-level analysis, perhaps at the level of **features,**capabilities and requirements (e.g. having to be online, being able to build your own apps with widgets, or being able to self-host your own interactive engine, etc.) against mainstream alternatives that directly target Python support (mostly plotly, mpl3d, vispy and vincent), even if in their present form, would already be very helpful.

I think the problem my team has (and perhaps others do as well) is that the landscape of solution looks fragmented, and it’s hard to understand what each solution provides and requires. It looks like Bokeh and Plotly are emerging as the main all-encompassing high-end interactive solutions available, which is why I focused on these two, but perhaps I am wrong.

~Josh

On Tue, Sep 2, 2014 at 11:31 AM, Peter Wang [email protected] wrote:

Hey Josh,

On Tue, Sep 2, 2014 at 10:02 AM, Josh Wasserstein [email protected] wrote:

This takes me to the following question: What makes Bokeh different from alternatives like Plotly and others?

With this, my questions are: Where does Bokeh excel in your opinion in particular? What are the major differences that you would highlight between Bokeh and other solutions like Plotly in terms of scope/approach/vision that will impact the way the library is used over time?

Good questions! Before I respond in depth, however, I wanted to understand the scope. Do you want me to list only open-source alternatives, or also proprietary offerings like Plotly, Spotfire, Tableau, Palantir, and others? Are you primarily interested in the area of business & statistical infovis (e.g. ggplot and trelliscope’s target domains) or also the realm of scientific visualization (vtk, paraview, dislin, and matplotlib’s roots)?

Thanks,

Peter

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

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

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

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CABGrp%2B9N%3DqwxTHd0Yu8rSwC-SObOK%3DvZYAQ2hWbL%2B86uk%3Di5aw%40mail.gmail.com.

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

To clarify, Plotly’s charting libraries for Python and JavaScripts [sic] were not non-proprietary two years ago when this discussion happened.

Bryan

···

On May 3, 2016, at 01:09, [email protected] wrote:

To clarify, Plotly’s charting libraries for Python and JavaScripts are non-proprietary and 100% open-source under MIT.

Plotly aims for parity with matplotlib or MATLAB graphics features, but with modern, interactive SVG and WebGL renderers. These renderers also make embedding and sharing on the web low-friction. We have regular release cycles every Monday for the JavaScript library and are used from university student homework assignments to production at the largest Fortune 500s.

More: https://plot.ly/python/getting-started/

Contributing: https://github.com/plotly/plotly.js (JavaScript layer) https://github.com/plotly/plotly.py (Python client to JavaScript layer)

-Jack / Plotly CEO

On Tuesday, September 2, 2014 at 11:46:17 AM UTC-7, Josh Wasserstein wrote:

Thanks Peter. I actually wasn’t aware of some of the other proprietary offerings (Spotfire, Tableou and Palantir). As a matter of fact, I didn’t know that Plotly was proprietary ether. That’s good to know. I also understand that comparing open-source vs proprietary source makes it difficult, since it’s hard to know what assumptions and architectural decisions were made in closed-source SW.

I can’t speak for others, and I know it’s difficult to draw the line and single out specific alternatives in a comparison, but I think a high-level analysis, perhaps at the level of **features,**capabilities and requirements (e.g. having to be online, being able to build your own apps with widgets, or being able to self-host your own interactive engine, etc.) against mainstream alternatives that directly target Python support (mostly plotly, mpl3d, vispy and vincent), even if in their present form, would already be very helpful.

I think the problem my team has (and perhaps others do as well) is that the landscape of solution looks fragmented, and it’s hard to understand what each solution provides and requires. It looks like Bokeh and Plotly are emerging as the main all-encompassing high-end interactive solutions available, which is why I focused on these two, but perhaps I am wrong.

~Josh

On Tue, Sep 2, 2014 at 11:31 AM, Peter Wang [email protected] wrote:

Hey Josh,

On Tue, Sep 2, 2014 at 10:02 AM, Josh Wasserstein [email protected] wrote:

This takes me to the following question: What makes Bokeh different from alternatives like Plotly and others?

With this, my questions are: Where does Bokeh excel in your opinion in particular? What are the major differences that you would highlight between Bokeh and other solutions like Plotly in terms of scope/approach/vision that will impact the way the library is used over time?

Good questions! Before I respond in depth, however, I wanted to understand the scope. Do you want me to list only open-source alternatives, or also proprietary offerings like Plotly, Spotfire, Tableau, Palantir, and others? Are you primarily interested in the area of business & statistical infovis (e.g. ggplot and trelliscope’s target domains) or also the realm of scientific visualization (vtk, paraview, dislin, and matplotlib’s roots)?

Thanks,

Peter

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

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

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

To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CABGrp%2B9N%3DqwxTHd0Yu8rSwC-SObOK%3DvZYAQ2hWbL%2B86uk%3Di5aw%40mail.gmail.com.

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/c38c2be4-4d84-40f8-b3d6-55fef64cfe26%40continuum.io.

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

In hindsight, while I do believe the statement about timelines is correct, this had an element of snark that was not useful or productive. Please accept my apology.

Thanks,

Bryan

···

On May 3, 2016, at 8:17 AM, Bryan Van de Ven <[email protected]> wrote:

To clarify, Plotly's charting libraries for Python and JavaScripts [sic] were not non-proprietary two years ago when this discussion happened.

Bryan

On May 3, 2016, at 01:09, [email protected] wrote:

To clarify, Plotly's charting libraries for Python and JavaScripts are non-proprietary and 100% open-source under MIT.

Plotly aims for parity with matplotlib or MATLAB graphics features, but with modern, interactive SVG and WebGL renderers. These renderers also make embedding and sharing on the web low-friction. We have regular release cycles every Monday for the JavaScript library and are used from university student homework assignments to production at the largest Fortune 500s.

More: https://plot.ly/python/getting-started/
Contributing: https://github.com/plotly/plotly.js (JavaScript layer) https://github.com/plotly/plotly.py (Python client to JavaScript layer)

-Jack / Plotly CEO

On Tuesday, September 2, 2014 at 11:46:17 AM UTC-7, Josh Wasserstein wrote:
Thanks Peter. I actually wasn't aware of some of the other proprietary offerings (Spotfire, Tableou and Palantir). As a matter of fact, I didn't know that Plotly was proprietary ether. That's good to know. I also understand that comparing open-source vs proprietary source makes it difficult, since it's hard to know what assumptions and architectural decisions were made in closed-source SW.

I can't speak for others, and I know it's difficult to draw the line and single out specific alternatives in a comparison, but I think a high-level analysis, perhaps at the level of features, capabilities and requirements (e.g. having to be online, being able to build your own apps with widgets, or being able to self-host your own interactive engine, etc.) against mainstream alternatives that directly target Python support (mostly plotly, mpl3d, vispy and vincent), even if in their present form, would already be very helpful.

I think the problem my team has (and perhaps others do as well) is that the landscape of solution looks fragmented, and it's hard to understand what each solution provides and requires. It looks like Bokeh and Plotly are emerging as the main all-encompassing high-end interactive solutions available, which is why I focused on these two, but perhaps I am wrong.

~Josh

On Tue, Sep 2, 2014 at 11:31 AM, Peter Wang <[email protected]> wrote:
Hey Josh,

On Tue, Sep 2, 2014 at 10:02 AM, Josh Wasserstein <[email protected]> wrote:
This takes me to the following question: What makes Bokeh different from alternatives like Plotly and others?
With this, my questions are: Where does Bokeh excel in your opinion in particular? What are the major differences that you would highlight between Bokeh and other solutions like Plotly in terms of scope/approach/vision that will impact the way the library is used over time?

Good questions! Before I respond in depth, however, I wanted to understand the scope. Do you want me to list only open-source alternatives, or also proprietary offerings like Plotly, Spotfire, Tableau, Palantir, and others? Are you primarily interested in the area of business & statistical infovis (e.g. ggplot and trelliscope's target domains) or also the realm of scientific visualization (vtk, paraview, dislin, and matplotlib's roots)?

Thanks,
Peter

--
You received this message because you are subscribed to the Google Groups "Bokeh Discussion - Public" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/CABGrp%2B9N%3DqwxTHd0Yu8rSwC-SObOK%3DvZYAQ2hWbL%2B86uk%3Di5aw%40mail.gmail.com.
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/c38c2be4-4d84-40f8-b3d6-55fef64cfe26%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.