Bokeh - Introduction

Bokeh is a data visualization library for Python. Unlike Matplotlib and Seaborn, they are also Python packages for data visualization, Bokeh renders its plots using HTML and JavaScript. Hence, it proves to be extremely useful for developing web based dashboards.

The Bokeh project is sponsored by NumFocus NumFocus also supports PyData, an educational program, involved in development of other important tools such as NumPy, Pandas and more. Bokeh can easily connect with these tools and produce interactive plots, dashboards and data applications.


Bokeh primarily converts the data source into a JSON file which is used as input for BokehJS, a JavaScript library, which in turn is written in TypeScript and renders the visualizations in modern browsers.

Some of the important features of Bokeh are as follows −


Bokeh is useful for common plotting requirements as well as custom and complex use-cases.


Bokeh can easily interact with other popular Pydata tools such as Pandas and Jupyter notebook.


This is an important advantage of Bokeh over Matplotlib and Seaborn, both produce static plots. Bokeh creates interactive plots that change when the user interacts with them. You can give your audience a wide range of options and tools for inferring and looking at data from various angles so that user can perform “what if” analysis.


By adding custom JavaScript, it is possible to generate visualizations for specialised use-cases.


Plots can be embedded in output of Flask or Django enabled web applications. They can also be rendered in



Open source

Bokeh is an open source project. It is distributed under Berkeley Source Distribution (BSD) license. Its source code is available on