How are Bokeh features different than Plotly?

Sorry in advance if this is a trigger question, but as a newcomer trying to make sense of the interactive plotting world there does seem to be quite an overlap between Bokeh and Plotly.

There are blogs on the internet but they appear mostly misinformed and very shallow, so what is the spirit of Bokeh relative to Plotly? For all intents and purposes, it seems Plotly has a bigger JS community whereas Bokeh has a bigger Python community (and the nuanced benefits that come with them). I’ve read some about community edition differences, particularly in styling dashboards being more convenient in Bokeh. Are there other distinct differences?

I feel like the hardest part to OSS is knowing what libraries to commit to because seldom is there time to ever change course once you’ve picked a direction, so hopefully this question serves as useful to other Bokeh newcomers assessing what makes the most sense for their development.

Sorry in advance if this is a trigger question, but as a newcomer trying to make sense of the interactive plotting world

There’s no sensitivity at all, but I am afraid I also can’t offer much information, either. When I was employed to lead and work on Bokeh, I paid (slightly) more attention to “competitive” or “business” related questions. But now that Bokeh is something I mostly have to fit in my personal time, I spend exactly zero effort on these kinds of things. I have not used Plotly, even casually, in many years, and am no longer familiar with their current features at all.

It’s possible other users and developers can offer more by way of their own personal perspectives, however. (cc @Philipp_Rudiger @James_A_Bednar1 @MarcSkovMadsen)

there does seem to be quite an overlap between Bokeh and Plotly.

This is certainly true. Bokeh and Plotly started with very similar ideas and goals at nearly exactly the same time in early 2012. [1]

I feel like the hardest part to OSS is knowing what libraries to commit to because seldom is there time to ever change course once you’ve picked a direction

I personally think the answer to that problem is simply to not feel obliged to pick a direction so hastily. Spend a short, time-boxed amount of time using multiple tools on small, toy projects, to see which one fits your needs and personal preferences most, before embarking on anything substantial.


  1. Peter Wang and I started discussing a “web-enabled successor to Chaco” in 2011, but no substantial work began on what would eventually become Bokeh until after Continuum/Anaconda was founded in January 2012. ↩︎

2 Likes

There is talk comparing Panel, Plotly, Streamlit and another library I forget in PyData Global 2021. The core developers of each library discussed strengths and weaknesses there. That might be helpful for you.

3 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.